天天看點

JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具

1.JVM體系結構概述

JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具
JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具

2.GC算法

分類:

  1. 引用計數法:每個對象維護一個引用計數器記錄其被引用數,當被引用數為0時即可回收
    JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具
  2. 跟蹤法(可達性分析算法):從GC Roots出發向下搜尋,不可達的對象即可回收

    GC Roots對象:

    1. 虛拟機棧(棧幀中的本地變量表)中引用的對象
    2. 本地方法棧中JNI(即native方法)引用的對象
    3. 方法區中類靜态屬性引用的對象
    4. 方法區中常量引用的對象

在可達性分析算法中不可達的對象,也并非就判定為“死亡”了;判定一個對象最終是否死亡,至少經曆兩次标記過程:

  1. 不可達的對象會被

    第一次标記

  2. 被第一次标記的對象進行 判斷是否有必要執行finalize(),若對象覆寫了finalize()方法 且 finalize() 沒有執行過,若都滿足則執行finalize();
  3. 在finalize()中,若對象重新和引用鍊上的任一對象建立關聯,則不會被

    第二次标記

    ,它則不會被回收。
    JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具

1.複制

JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具

2.标記清除

JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具

3.标記壓縮

JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具

4.标記清除壓縮

  • 原理:
    1. Mark-Sweep和Mark-Compact結合
    2. 和Mark-Sweep一緻,當進行多次GC後才Compact
  • 優點:

    減少移動對象的成本

3.Hotspot記憶體管理

JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具
JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具
JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具

4.Hotspot垃圾回收器

JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具
JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具
JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具
JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具
JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具

1.新生代垃圾回收器

JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具

1.Serial Copying

JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具

2.ParNew

JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具

3.Parallel Scavenge(吞吐量優先)

JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具
JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具

2.舊生代垃圾回收器

JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具

1.Serial MSC(Serial Old)

JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具

2.Parallel Compacting(Parallel Old)

JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具
JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具

3.CMS(并發低停頓)

JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具
JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具
JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具

5.調優

1.堆大小調優

JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具
JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具

2.新生代調優

1.大小

JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具

2.晉升

JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具
JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具

3.舊生代調優

JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具

6.監控工具

JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具
JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具
JVM體系結構與GC調優1.JVM體系結構概述2.GC算法3.Hotspot記憶體管理4.Hotspot垃圾回收器5.調優6.監控工具

繼續閱讀