1,如何检测垃圾

        如果一个对象与“根对象”没有直接或者间接的关联,那么这个对象就可以称之为垃圾对象,可以被回收,那么什么是跟对象呢?大概包括下面几种。

  • 在方法中局部变量区的对象的引用的对象
  • java操作栈中对象的引用对象
  • 常量池中对象的引用对象
  • 本地方法中持有的对象的引用
  • 类的class对象

2,垃圾收集算法

  • 标记 - 清除算法:分为两个阶段 (1)标记 (2)清除 
  • 复制算法:将内存分为大小相等的两块,每次只使用一块,当一块用完了,就将还存活的对象复制到另一块上面,然后再把已经使用过得内存空间 - 次清理掉
  • 标记 - 整理算法:将标记的对象清除掉,没有清除的对象向一个方向移动,整理
  • 分代收集算法:将内存分为年轻代和老年代两部分,年轻代放年轻的对象,老年代放年纪大的对象(好像是废话),年轻代的内存也分为Eden区和两个Survivor区

 

 

3,垃圾收集器种类及说明

 

垃圾收集器种类

 

其中垃圾收集器用剪头指着的标示可以互相配合使用

 

 

 

 

转载于:https://my.oschina.net/u/1169535/blog/817297

相关文章: