学习了有一段时间了,最近满脑子的东西有些消化不良。代码写的比以前少很多了,从基础学习一定要好好的打牢。学习笔记是我自己给自己复习用的,这当中的描述不一定准确和官方的定义也会有差别,或会有不对的地方请大家指正。
垃圾回收原理:
1. 每创建一个新的对象默认处于0代
2. 不断创建对象,第0代所满足的最大空间就会满
3. 系统会默认的调用GC.Collecttor(0)
3.1 检查所有类型是否处于引用状态。
3.2 将垃圾与需要的数据分别作上标记
3.3 将有用的东西移动到一个地方
3.4 垃圾资源放在原来的位置不动
3.5 装所有的资源标记为第一代
4. 系统反复执行123过程,当第一代满的时候又回收第一代
5. 回收后第一代向第二代进军,如果第二代也满了就会报异常。
值得注意的是,如果是大数据内库,实际中是不会被移动的。
String类的学习:
1. string的不变性,构造方法。
2. 常用属性:Length Empth
3. string类型其实就是char数组构成的
4. 字符串的索引,将字符串当做字符数组操作,但值得注意的是无法通过 string[0]=‘A’赋值,会报错无法赋值,因为是只读的。但是可以通过声明char数组来操作,再把处理后的结果赋值给字符串。
5. 由于字符串是不可变的,所以内容相同的字符串会是同一个地址,这就是字符串的“拘留池”,但new的时候不管是否有相同值的字符串都会新建一个。
6. string.Replace(需替换的字符串,用作替换的字符)方法,如需删除字符串中的某个字符可以用替换成空来实现。
7. string.Endswith()方法判断是否以某个字符串结尾。
8. string.Format({0},“替换占位符”)和console.writeline()方法类似,只是不打印输出
9. string.Split()方法分割字符串。