1,如何检测垃圾
如果一个对象与“根对象”没有直接或者间接的关联,那么这个对象就可以称之为垃圾对象,可以被回收,那么什么是跟对象呢?大概包括下面几种。
- 在方法中局部变量区的对象的引用的对象
- java操作栈中对象的引用对象
- 常量池中对象的引用对象
- 本地方法中持有的对象的引用
- 类的class对象
2,垃圾收集算法
- 标记 - 清除算法:分为两个阶段 (1)标记 (2)清除
- 复制算法:将内存分为大小相等的两块,每次只使用一块,当一块用完了,就将还存活的对象复制到另一块上面,然后再把已经使用过得内存空间 - 次清理掉
- 标记 - 整理算法:将标记的对象清除掉,没有清除的对象向一个方向移动,整理
- 分代收集算法:将内存分为年轻代和老年代两部分,年轻代放年轻的对象,老年代放年纪大的对象(好像是废话),年轻代的内存也分为Eden区和两个Survivor区
3,垃圾收集器种类及说明
其中垃圾收集器用剪头指着的标示可以互相配合使用
转载于:https://my.oschina.net/u/1169535/blog/817297