java垃圾回收机制
判断一个对象是否存活有两种方法
1、引用计数算法
2、可达性分析
引用分类
1、强引用
2、软引用
3、弱引用
4、虚引用
垃圾收集算法
1、标记-清除算法
不足:效率低;产生大量的不连续内存碎片
2、复制算法
主要应用在回收新生代上,因为新生代变化较快,新生代内存可以分为eden区以及是s1和s2区,其中survivor中每次只用其中一块,这样每次收集算法就可以把存活的eden和另一块s区中的对象复制到其中。
3、标记-整理算法
复制算法在对象存活率比较高的时候,就会显得效率低,所以,针对老年代采用标记-整理算法。