JavaGC机制概要

JavaGC机制概要

  1. 什么是GC?
    垃圾回收是一种自动的存储管理机制。当一些被占用的内存不再需要时,就应该予以释放,以让出空间,这种存储资源管理,称为垃 圾回收(garbage collection)。垃圾回收器可以让程序员减轻许多负担,也减少程序员犯错的机会。
  2. 回收哪些内存?
    1、通过可达性分析算法,分析需要被回收的对象,没有被GCRoot对象引用的是可以被回收的。
    JavaGC机制概要
    2、可以作为跟对象的对象:
    1. 虚拟机栈中引用的对象
    2. 方法区中的类静态属性引用的对象
    3. 方法区中的常量引用的对象
    4. 本地方法栈中JNI(native方法)的引用的对象
  3. 如何回收?
    通过垃圾回收算法进行内存回收
    1. Marking-Sweep (标记-清除法)
    2. Marking-Compat (标记-整理法)
  4. JVM中的分代(堆内存)
    年轻代、老年代、持久代
    JavaGC机制概要
  5. 年轻代内存分配逻辑:
    1. Eden区
    2. Servivor0(s0),Servivor1(s1)
  6. 发生在年轻带的GC,minorGC(次要GC),发生在老年代的GC(majorGC)

More