JVM 掌握要点
重讀JVM
jvm系列:jvm知識(shí)點(diǎn)總覽
1. 認(rèn)識(shí)Java虛擬機(jī)
默認(rèn)Hotspot實(shí)現(xiàn)
2. 類(lèi)加載機(jī)制
知道雙親委派模型
編譯為class javac →?裝載 class ClassLoader → 執(zhí)行class 解釋/編譯 執(zhí)行
3. 內(nèi)存模型
內(nèi)存空間:方法區(qū)、堆、JVM方法棧、本地方法棧、PC寄存器
內(nèi)存分配:堆上分配、TLAB分配、棧上分配
內(nèi)存狀況分析:jconsole、visualvm、jstat、jmap、MAT
Java內(nèi)存模型 (Java Memory Model)描述了Java程序中各種變量(線(xiàn)程共享變量)的訪(fǎng)問(wèn)規(guī)則,以及在JVM中將變量存儲(chǔ)到內(nèi)存和從內(nèi)存中讀取出變量這樣的底層細(xì)節(jié)。
重排序
順序一致性
volatile
鎖
final
4. GC?
garbage collection 垃圾回收
算法 Copy Mark-Sweep Mark-Compact
JDK實(shí)現(xiàn) 分代回收 新生代可用的GC , Minor GC觸發(fā)機(jī)制及日志格式,舊生代可用的GC,Full GC觸發(fā)機(jī)制及日志格式
GC參數(shù)
GI
4.1 回收算法
判斷對(duì)象死亡算法
引用計(jì)數(shù)算法
可達(dá)性分析算法
垃圾收集算法
標(biāo)記-清除算法
復(fù)制算法
標(biāo)記-整理算法
分代收集算法
4.2 垃圾收集器
Serial收集器
ParNew收集器
Parallel Scavenger 收集器
Serial Old 收集器
CMS收集器
G1收集器
4.3 GC日志
GC發(fā)生時(shí)間
垃圾收集的停頓類(lèi)型
GC發(fā)生的區(qū)域 與收集器有關(guān)
GC前該內(nèi)存區(qū)域已使用容量?GC前java堆已使用容量
GC所占用的時(shí)間
5. 調(diào)優(yōu)
?
6. 工具
jstack
虛擬機(jī)統(tǒng)計(jì)信息監(jiān)控工具
jstack是java虛擬機(jī)自帶的一種堆棧跟蹤工具。
jmap
?java內(nèi)存映像工具
jconsole
?
轉(zhuǎn)載于:https://www.cnblogs.com/loveincode/p/7427717.html
總結(jié)
- 上一篇: JavaScript特点、优缺点及常用框
- 下一篇: C++继承权限