###标记-清除
该算法最大的缺点是会产生内存碎片,弃用
CMS 在老年代是用标记-清除算法:
这种算法带来的后果:老年代碎片,当创建大的对象时候,会进行STOP THE WOLD 全区静止。
###复制算法
JDK1.5的时候,会将堆划分为多个eden-servivor-servivor
JDK1.7的时候,会将整块的堆划分为多个不连续的Regin区
该算法用于新生代
Eden:servivor:servivor 8:1:1
新生代的对象70%-95%都是被GC的。所以会将Eden区和servivor区存活的对象,复制到另一个servivor中。如果这个servivor区的内存不够时,会在老年代进行分配担保。将对象存入老年代
新生代–>老年代 15次young gc
###标记-整理
G1算法:
在老年代进行
先做标记-清除
再移动老年代中的对象,做一次整理,给出连续的内存空间