将琴存诗
人生 可以不要那么 耀 ,只需要有 一个  平凡的梦想  足以 。—— loveincode -_^ RSS
Fork me on GitHub

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

 

posted @ 2017-08-25 13:55  loveincode  阅读(244)  评论(0编辑  收藏  举报
最简单即最美
有了信仰,自己要坚持努力 2017.07.09 21:34