Java垃圾回收(GC)机制详解

如何找到要回收的垃圾

  • 1、引用计数法
  • 2、可达性分析法

三、四种引用状态

  • 1、强引用

  • 2、软引用

  • 3、弱引用

  • 4、虚引用

输入图片说明

五、垃圾收集算法

  • 1、标记-清除(Mark-Sweep)算法
  • 2、复制(Copying)算法
  • 3、标记-整理(Mark-Compact)算法
  • 4、分代收集算法:大批对象死去、少量对象存活的(新生代),使用复制算法,复制成本低;对象存活率高、没有额外空间进行分配担保的(老年代),采用标记-清理算法或者标记-整理算法。

六、垃圾收集器

输入图片说明

1、Serial收集器

  • 1.单线程工作
  • 2.采用复制算法

2、ParNew收集器

  • 1.多线程工作 2.采用复制算法

3、CMS收集器

  • (1). 初始标记,标记GCRoots能直接关联到的对象,时间很短。
  • (2). 并发标记,进行GCRoots Tracing(可达性分析)过程,时间很长。
  • (3). 重新标记,修正并发标记期间因用户程序继续运作而导致标记产生变动的那一部分对象的标记记录,时间较长。
  • (4). 并发清除,回收内存空间,时间很长。

7、G1收集器

链接

Java垃圾回收(GC)机制详解

随笔分类 - Java虚拟机

猜你喜欢

转载自my.oschina.net/u/3421984/blog/1801819