JVM 掌握要点
2024-08-29 14:01:20
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
最新文章
- java for循环冒泡排序
- loadrunner (一)如何查看分析、报告结果
- 积木(DP)问题
- Java的多线程机制系列:(四)不得不提的volatile及指令重排序(happen-before)
- Asp.net MVC23 使用Areas功能的常见错误
- 将一副图片编译进uboot
- 整个网站灰度显示css代码
- wget 常用参数释义
- a标签 download base64 下载 网络失败
- [Swift]LeetCode575. 分糖果 | Distribute Candies
- BZOJ2662[BeiJing wc2012]冻结——分层图最短路
- ROS与深度相机入门教程-在ROS使用kinect v1摄像头
- Jmeter接口测试动态传参——动态获取token值
- 用友时空KSOA功能挖掘之zl_func函数
- 记录一次服务器CPU 100%的解决过程
- intellij idea14 +svn配置
- nginx配置解决vue单页面打包文件大,首次加载慢的问题
- 图解HTTP之HTTPS详解
- 2014 linux
- iframe中插入代码并执行