【读书笔记】《深入理解Java虚拟机》Java虚拟机发展史
发布日期:2021-05-07 13:00:41 浏览次数:17 分类:精选文章

本文共 1347 字,大约阅读时间需要 4 分钟。

Java虚拟机(JVM)的发展历程悠久且充满变革,以下将从Sun Classic VM、Exact VM、HotSpot VM、JRockit VM以及J9 VM等多个版本的发展历程进行全面介绍。

1. Sun Classic VM

Sun Classic VM是Java发展史上的开端,这款虚拟机于1996年随Java1.0发布,是世界上第一款商用Java虚拟机,并在JDK1.4时被完全淘汰。其核心特征是仅提供解释器功能,缺乏现代化的内存管理机制。解释器作为执行代码的核心模块,通过逐行执行字节码实现程序运行,而热点代码则通过编译器生成机器码并缓存至方法区。

值得注意的是,JIT(即时编译器)的引入曾对Sun Classic VM构成挑战。JIT需要进行外挂操作,一旦接入,解释器便不再发挥作用。这与现代JVM的混合工作模式形成鲜明对比。在后续版本中,这一限制已被克服。

2. Exact VM

为了应对Sun Classic VM的局限,JDK1.2引入了Exact VM。其显著特点是采用准确式内存管理(Accurate Memory Management),这使得虚拟机能够精确辨识内存中数据类型,从而优化垃圾收集(GC)效率。

Exact VM还支持热点探测和混合编译模式,为后续JVM的发展奠定了基础。尽管Exact VM在Solaris平台上短暂使用,但其技术创新为HotSpot VM的开发提供了重要参考。

3. HotSpot VM

HotSpot VM的发展始于Longview Technologies公司,随着Sun的收购及其在JDK1.3时成为默认虚拟机,它逐渐占据了市场主导地位。热点代码探测技术(HotSpot)是其核心优势,通过计数器识别高频代码并进行即时编译或栈上替换,实现了执行性能与响应时间的平衡。

HotSpot VM的内置执行引擎和热点探测技术使其成为现代 JVM 的代表,其应用范围从传统服务器到移动端和嵌入式系统均无限制。

4. JRockit VM

专注于服务器端应用的JRockit VM在性能优化方面表现突出。其独特之处在于不依赖解释器,完全依靠即时编译器完成代码执行。JRockit VM以其卓越的性能表现著称,多个基准测试证明其为全球最快的 JVM。

JRockit提供全面的解决方案,包括实时响应型应用支持和生产环境监控工具,适合对延迟敏感的场景。2008年,JRockit被Oracle收购,并在后续版本中与HotSpot VM进行整合。

5. J9 VM

IBM开发的J9 VM是市场上备受瞩目的另一款高性能 JVM。其市场定位与HotSpot VM相似,广泛应用于服务器端、桌面应用及嵌入式开发。J9 VM以高效的性能表现著称,被誉为全球最快的 JVM之一。

2017年,IBM推出了开源版本openJ9,交由Eclipse基金会管理,为开发者提供了灵活的选择。

总结

从Sun Classic VM的诞生到如今HotSpot VM的主导地位,再到JRockit VM的性能突破和J9 VM的开源发展, JVM技术经历了持续的创新与进步。这些进步不仅提升了 Java 应用程序的性能,也为开发者提供了更加灵活的运行时环境选择。

上一篇:JVM运行时数据区详解(13张图助你理解运行时数据区)
下一篇:如何完美解答面试问题——深拷贝和浅拷贝的区别

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2025年04月09日 11时17分47秒