【JVM】基础篇(一)
【JVM】基础篇(一)
- 1. 学习内容
- 2. 初始JVM
- 2.1 什么是JVM
- 2.2 JIT即时编译的演进
- 2.3 常见的JVM
- 附录
1. 学习内容
2. 初始JVM
2.1 什么是JVM
Java Virtual Machine 即Java虚拟机
JVM本质上是一个运行在计算机上的程序,他的职责是运行Java字节码文件。
JVM核心功能
- 解释运行:实时将字节码指令翻译为机器码并执行,实现“一次编写,到处运行”的跨平台特性。
- 内存管理:自动为对象、方法分配内存,并通过垃圾回收机制回收不再使用的对象,减少手动内存管理的风险。
- 即时编译(JIT):对频繁执行的热点代码进行编译优化,将字节码直接转换为机器码缓存,提升运行性能。
2.2 JIT即时编译的演进
-
JDK1.1引入JIT:解决了解释执行效率低的问题。原理是将多次运行的代码(热点代码)编译为机器码并保存在内存中,后续调用时直接从内存获取机器码执行,避免重复解释。
-
现代JIT优化:不仅缓存编译结果,还会通过方法内联、循环展开等优化手段进一步提升代码执行效率,是JVM性能优化的核心机制之一。
2.3 常见的JVM
- HotSpot:Oracle JDK和OpenJDK的默认虚拟机,采用解释执行与JIT编译混合模式,性能优异,应用最广泛。
- GraalVM:Oracle推出的跨语言虚拟机,支持Java、JavaScript、Python等多种语言,同时提供AOT(提前编译)能力,适合微服务与云原生场景。
- Dragonwell JDK:阿里巴巴基于OpenJDK定制的虚拟机,针对电商高并发、大数据场景优化,增强了稳定性和性能。
// TODO https://www.bilibili.com/video/BV1r94y1b7eS?spm_id_from=333.788.videopod.episodes&vd_source=240d9002f7c7e3da63cd9a975639409a&p=3
附录
- 课程地址 https://www.bilibili.com/video/BV1r94y1b7eS?spm_id_from=333.788.videopod.episodes&vd_source=240d9002f7c7e3da63cd9a975639409a
- 其他人的笔记 https://blog.csdn.net/Ckkkkky/article/details/151684590