有哪些Java GC的相关问题( 二 )


分代回收算法
分代回收算法是目前使用较多的一种算法 , 这个不是一个新的算法 , 只是将内存进行的划分 , 不同区域的内存使用不同的算法 。根据对象的存活时间将内存的划分为新生代和老年代 , 其中新生代包含Eden 区和 S0 , S1 。在新生代中使用是复制算法 , 在进行对象内存分配的时候只会使用 Eden 和 S0 区 , 当发生 GC 的时候 , 会将存活的对象复制到 S1区 , 然后循环往复进行复制 。当某个对象在进行了 15 次GC后依旧存活 , 那这个对象就会进入老年代 。老年代因为每次回收的对象都会比较少 , 因此使用的是标记整理算法 。
垃圾回收器
【有哪些Java GC的相关问题】讲完了垃圾回收算法 , 我们再看下垃圾回收器 , 每一种垃圾回收器都是不同时代的不同产物 , 都有其独特性 。

推荐阅读