JVM 调优理论知识:垃圾回收

 

熟悉GC常用算法,熟悉常见垃圾收集器,具有实际JVM调优实战经验

garbage

什么是garbage?没有被引用的对象都是垃圾 garbage

how to find a garbage  如何找到垃圾

1.reference count  引用计数

rc 不能解决的问题: 循环引用。例如 A引用B,B引用C,C引用A.

2.root searching  根可达算法。 线程栈变量、静态变量、常量池、JNI指针

JVM 调优理论知识:垃圾回收

GC algorithms 

1. Mark-Sweep ( 标记清除 )

2.Copying (拷贝)

3. Mark-Compact (标记压缩)

 

JVM 调优理论知识:垃圾回收

算法相对简单,在存活对象比较多的情况下效率较高。两遍扫描,效率较低,容易产生碎片。

不适合Eden 区

 

JVM 调优理论知识:垃圾回收 适用于存活对象较少的情况,只扫描一次,效率提高,没有碎片。 空间浪费,移动复制对象,需要调整对象引用。

适合于 Eden 区