March 28, 2017

JVM GC

GCRoot:

  • 栈中引用的对象
  • 类静态属性引用的对象
  • 常量引用的对象
  • Native JNI中引用的对象
  1. 引用计数法
  2. 根搜索算法
    1. 标记清除法
    2. 标记整理法,与2类似,但清除后会把活对象向左端空闲空间移动并更新引用对象指针(存活对象多,旧生代)
    3. 复制算法,将存活对象移动一块空闲区域(存活对象少时,复制算法高效,新生代Eden区)

垃圾收集器

Serial GC, ParNew GC, Parallel Scavenge GC, CMS, G1, Serial Old, Parallel Old, TRSJ