JVM GC原理
https://www.cnblogs.com/dzcWeb/p/11589608.html
误区:年轻代的动态年龄判定是指,在某次young gc之后,把对象占用的空间从小往大累加,加到某个年龄的时候,大于了Survivor空间的一半,那么大于等于这个年龄的对象会被扔进老生代。(相同年龄的对象大于Survivor空间一半,是单独丢这个年龄的对象,还是把这个年龄和大于这个年龄的对象一起丢进老生代未求证)
https://blog.youkuaiyun.com/u014493323/article/details/82921740
其他误区
https://blog.youkuaiyun.com/u014493323/article/details/82891777
GC算法:
相关:可达性分析
- 复制回收算法:例如from触发GC,删除无用的对象,有用的复制到to,from置为不可用。优点:快;缺点:空间利用率低(50%)。
- 标记清除算法:标记不回收的对象,清除可回收的对象。优点:不浪费空间。缺点:不回收的对象是零散的,会产生很多碎片。连续空间比剩余空间小得多,如果有大对象可能塞不进去。
- 标记整理算法(压缩清除算法):标记不回收的对象,清除可回收的对象,然后将零散的对象压缩在一起。优点:解决了2的问题。