JVM 掌握要點

重讀JVMjava

jvm系列:jvm知識點總覽算法

1. 認識Java虛擬機

默認Hotspot實現jvm

2. 類加載機制

知道雙親委派模型工具

編譯爲class javac → 裝載 class ClassLoader → 執行class 解釋/編譯 執行post

3. 內存模型

內存空間:方法區、堆、JVM方法棧、本地方法棧、PC寄存器.net

內存分配:堆上分配、TLAB分配、棧上分配線程

內存情況分析:jconsole、visualvm、jstat、jmap、MAT日誌

Java內存模型 (Java Memory Model)描述了Java程序中各類變量(線程共享變量)的訪問規則,以及在JVM中將變量存儲到內存和從內存中讀取出變量這樣的底層細節。對象

重排序blog

順序一致性

volatile

final

4. GC 

garbage collection 垃圾回收

算法 Copy Mark-Sweep Mark-Compact

JDK實現 分代回收 新生代可用的GC , Minor GC觸發機制及日誌格式,舊生代可用的GC,Full GC觸發機制及日誌格式

    GC參數

    GI

4.1 回收算法

判斷對象死亡算法

引用計數算法

可達性分析算法

垃圾收集算法

標記-清除算法

複製算法

標記-整理算法

分代收集算法

4.2 垃圾收集器

Serial收集器

ParNew收集器

Parallel Scavenger 收集器

Serial Old 收集器

CMS收集器

G1收集器

4.3 GC日誌

GC發生時間

垃圾收集的停頓類型

GC發生的區域 與收集器有關

GC前該內存區域已使用容量 GC前java堆已使用容量

GC所佔用的時間

5. 調優

 

6. 工具

jstack

虛擬機統計信息監控工具

jstack是java虛擬機自帶的一種堆棧跟蹤工具。

jmap

 java內存映像工具

jconsole

相關文章
相關標籤/搜索