GC算法与回收策略

算法:

标记-清理  :首先标记出需要回收的对象 ,然后统一回收待标记的对象。

                 缺点:易产生大量空间碎片,空间碎片太多导致程序在运行过程中产生大对象时 因为空间不足导致容易导致另一个垃圾收集动作

                

 

 

标记-整理 。作用于老年代。不是直接对标记对象进行清理,而是将存活对象往另一端移动 直接清理掉端边界以外的内存

 

 

分代收集:

新生代由于每次都有大量对象死去 采用复制算法。老年代由于对象存活率高 没有额外空间对他进行担保 就采用标记-清理或标记-清楚算法。所以综上所述  它是多个算法集合

 

复制算法:其一般作用于新生代。将内存分成大小相等的两块,每次只是用其中一块 当一块对象用完了  就将其复制到另一块,然后清空自己。一般作用于新生代收集。因为考虑内存浪费的原因,Hotspot一般默认比例是(Eden)8:1(survivor)  每次新生代中大概有80%+10%的内存空间可以利用,浪费10%而已

posted @ 2018-03-09 16:14  陶朱公Boy  阅读(346)  评论(0编辑  收藏  举报