JVM 掌握要点
重讀JVM
jvm系列:jvm知識點總覽
1. 認識Java虛擬機
默認Hotspot實現
2. 類加載機制
知道雙親委派模型
編譯為class javac →?裝載 class ClassLoader → 執行class 解釋/編譯 執行
3. 內存模型
內存空間:方法區、堆、JVM方法棧、本地方法棧、PC寄存器
內存分配:堆上分配、TLAB分配、棧上分配
內存狀況分析:jconsole、visualvm、jstat、jmap、MAT
Java內存模型 (Java Memory Model)描述了Java程序中各種變量(線程共享變量)的訪問規則,以及在JVM中將變量存儲到內存和從內存中讀取出變量這樣的底層細節。
重排序
順序一致性
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
?
轉載于:https://www.cnblogs.com/loveincode/p/7427717.html
總結
- 上一篇: JavaScript特点、优缺点及常用框
- 下一篇: 数论-朴素卢卡斯(Lucas)模板