IT职场生存法则
2006-11-04 18:15
363 查看
.NET Framework的垃圾回收器管理和内存分配与释放.
当在应用程序中new出新对象的时候,运行库就会在托管堆中为其分分配一定的内存空间,只要托管堆中有存储空间就会一直分配下去,但是内存是有一定容量的,这@"G:\MyDemo就需要垃圾回收器对内存中的对象进行管理.
为new出的新对象进行分配空间的过程:要先分析实例化字段所需空间,对象所需空间包括两部分,同步块索引和类型对象指针;分配物理内存,新对象指针指向下一个可用内存区域.
垃圾回收标记:对在线程堆栈中有指针的对象进行标记,释放那些没有标记的对象,调整存在对象的位置.
垃圾回收过程:微软引进一种”代”机制进行垃圾回收管理,0代分配256K ,1代分配2M,2代分配10M.首先一直在托管堆中的0代添加对象例如当添加到五个的时候0代空间用完,则触发0代回收机制,对其中无标记的对象进行释放,然后将0代剩下的对象放入1代中,将将要添加的对象存入0代,继续往0代添加对象当0代空间再次用完时,就又触发0代垃圾回收机制,将无标记的对象释放,再将其余对象添加到1代,当0代再向1代添加而此时1代也无存储空间,则触发1代垃圾回收,先将1代中无标记的对象释放,然后再将1代中剩余的对象添加到2代中,将要0代的对象添加到1代中,继续往0代添加对象如此往返循环.
本文出自 “IT” 博客,请务必保留此出处http://3298563.blog.51cto.com/3288563/623460
当在应用程序中new出新对象的时候,运行库就会在托管堆中为其分分配一定的内存空间,只要托管堆中有存储空间就会一直分配下去,但是内存是有一定容量的,这@"G:\MyDemo就需要垃圾回收器对内存中的对象进行管理.
为new出的新对象进行分配空间的过程:要先分析实例化字段所需空间,对象所需空间包括两部分,同步块索引和类型对象指针;分配物理内存,新对象指针指向下一个可用内存区域.
垃圾回收标记:对在线程堆栈中有指针的对象进行标记,释放那些没有标记的对象,调整存在对象的位置.
垃圾回收过程:微软引进一种”代”机制进行垃圾回收管理,0代分配256K ,1代分配2M,2代分配10M.首先一直在托管堆中的0代添加对象例如当添加到五个的时候0代空间用完,则触发0代回收机制,对其中无标记的对象进行释放,然后将0代剩下的对象放入1代中,将将要添加的对象存入0代,继续往0代添加对象当0代空间再次用完时,就又触发0代垃圾回收机制,将无标记的对象释放,再将其余对象添加到1代,当0代再向1代添加而此时1代也无存储空间,则触发1代垃圾回收,先将1代中无标记的对象释放,然后再将1代中剩余的对象添加到2代中,将要0代的对象添加到1代中,继续往0代添加对象如此往返循环.
本文出自 “IT” 博客,请务必保留此出处http://3298563.blog.51cto.com/3288563/623460
相关文章推荐
- IT职场生存法则
- 我在IT职场超15年:从程序员做到副总,送你21个超实用的职场法则!
- IT职场求生法则(1)- 通用法则
- IT职场求生法则
- 我在IT职场打滚超过15年了,从小小的程序员做到常务副总----挨踢职场求生法则-----
- IT职场求生法则(加强版)
- IT职场求生法则(2)- 基层员工及项目经理适用法则
- IT职场人,切不要一辈子靠技术生存
- IT职场求生法则
- IT职场人,切不要一辈子靠技术生存
- 职场情商比职场生存法则更重要!!!
- IT职场求生法则
- IT项目经理的8条生存法则
- IT职场求生法则
- 我在IT职场超15年:从程序员做到副总,送你21个超实用的职场法则!
- 高人的职场生存法则
- 【转】工科男IT职场求生法则
- IT职场人,切不要一辈子靠技术生存
- 职场生存法则20条
- 福布斯:IT领域生存八大法则 -----来自CSDN,感觉说的不错,收藏供大家共享