欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java垃圾回收机制——java堆,

来源: javaer 分享于  点击 3437 次 点评:52

Java垃圾回收机制——java堆,


堆中的垃圾回收机制分为新生代和老年代。

新生代:新生代的垃圾回收用的是复制算法,给新生代分一块区域存放新new出来的对象,将这块区域分成十份,其中八份为Eden空间,两份为Survivor空间(From Survivor与To Survivor),将新生成的对象放入Eden,若Eden满了可以放From Survivor空间,如果From Survivor空间也被填满就触发Minor GC,标记还存活的对象,并将这些对象存入To Survivor空间,清理掉Eden空间与From Survivor空间的对象,然后将From Survivor空间与To Survivor空间的名字与功能互换。

老年代:老年代的垃圾回收使用的是标记-整理算法,分出一块区域存放老年代对象,让所有存活对象都都向一端移动,然后清理掉其他空间的对象。

新生代对象如何转换为老年代对象?

1.长期存活对象将进入老年代

每经过一次Minor GC将age加1,当一个对象经过多次(默认15次)Minor GC都没有被清理掉时,将进入老年代。

2.大对象直接进入老年代

当一个对象比较大,新生代内存存放不下该对象时,将直接进入老年代。

相关文章

    暂无相关文章
相关栏目:

用户点评