重读JVMjava
默认Hotspot实现jvm
知道双亲委派模型工具
编译为class javac → 装载 class ClassLoader → 执行class 解释/编译 执行post
内存空间:方法区、堆、JVM方法栈、本地方法栈、PC寄存器.net
内存分配:堆上分配、TLAB分配、栈上分配线程
内存情况分析:jconsole、visualvm、jstat、jmap、MAT日志
Java内存模型 (Java Memory Model)描述了Java程序中各类变量(线程共享变量)的访问规则,以及在JVM中将变量存储到内存和从内存中读取出变量这样的底层细节。对象
重排序blog
顺序一致性
volatile
锁
final
garbage collection 垃圾回收
算法 Copy Mark-Sweep Mark-Compact
JDK实现 分代回收 新生代可用的GC , Minor GC触发机制及日志格式,旧生代可用的GC,Full GC触发机制及日志格式
GC参数
GI
引用计数算法
可达性分析算法
标记-清除算法
复制算法
标记-整理算法
分代收集算法
Serial收集器
ParNew收集器
Parallel Scavenger 收集器
Serial Old 收集器
CMS收集器
G1收集器
GC发生时间
垃圾收集的停顿类型
GC发生的区域 与收集器有关
GC前该内存区域已使用容量 GC前java堆已使用容量
GC所占用的时间
虚拟机统计信息监控工具
jstack是java虚拟机自带的一种堆栈跟踪工具。
java内存映像工具