您的位置:首页 > 其它

jvm垃圾收集器与内存分配

2017-12-04 19:06 246 查看
垃圾收集器与内存分配:(可达性分析算法判定对象是否存活GC Roots)

1:强引用:只要引用存在就永远不会回收掉被引用的对象

2.软引用:有用但非必须的对象

3弱引用:非必须对象,生存到下一次垃圾回收前

4.虚引用:目的能在回收时收到一个系统通知

finalize()方法是对象逃脱死亡命运的最后一次机会(只会被系统自动调用一次)

垃圾回收算法

1.标记-清除算法(Mark-Sweep):标记出需要回收的对象,标记完成后统一回收。(不足:效率问题和空间问题(内存碎片))

2.复制算法:将内存按容量分为大小相等的两块,每次只使用其中的一块。当一块用完了,就将还存活的对象复制到另一块,再清理已使用的内存空间。(效率高,缺:代价大)

标记整理算法:将所有存活的对象都向一端移动,然后直接清理掉边界外的内存

分代收集算法:新生代用复制算法,老年代对象存活率高,必须用标记清理算法

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: