目 录CONTENT

文章目录
jvm

jvm的发展历程

半糖
2024-09-19 / 0 评论 / 0 点赞 / 1 阅读 / 3132 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2024-09-19,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

JVM(Java Virtual Machine)的发展历程是一个不断演进以适应 Java 语言发展、性能提升需求以及硬件技术进步的过程,以下是其主要的发展阶段:

一、早期 JVM(Java 1.0 - Java 1.2)

  1. Java 1.0 时代

    • 1996 年,Java 1.0 发布,对应的 JVM 是初代产品。这个时期的 JVM 相对简单,主要是为了实现 Java 语言 “一次编写,到处运行” 的特性。它采用了简单的解释执行方式,将 Java 字节码逐行解释执行。

    • 垃圾回收机制也比较基础,主要采用了简单的标记 - 清除算法,并且垃圾回收效率较低。内存管理方面,堆内存结构相对简单,没有后来的分代概念。

  2. Java 1.2 时代(引入 JIT 编译)

    • 1998 年 Java 1.2 发布,这一版本在 JVM 的发展历程中有重要意义。它引入了即时编译(Just - In - Time, JIT)技术。JIT 编译器在运行时将热点代码(经常被执行的代码片段)编译成机器码,提高了代码的执行速度。

    • 在内存管理方面,开始有了初步的分代思想,将堆分为新生代和老年代,不同代采用不同的垃圾回收策略,提高了垃圾回收的效率。

二、JVM 性能优化与功能扩展(Java 5 - Java 8)

  1. Java 5

    • 2004 年 Java 5 发布,JVM 在这一版本中得到了进一步的优化。

    • 在垃圾回收方面,引入了多种新型的垃圾回收器。例如,并行收集器(Parallel Collector),它采用多线程并行的方式进行垃圾回收,提高了垃圾回收的吞吐量。

    • 对 Java 内存模型(Java Memory Model, JMM)进行了修订,解决了之前内存模型中的一些问题,提高了多线程程序的正确性和性能。

  2. Java 6

    • 2006 年 Java 6 发布,JVM 继续改进。

    • 对垃圾回收器进行了更多的优化,例如 G1(Garbage - First)垃圾回收器在 Java 6u14 版本中以体验版的形式出现,它采用分区的思想对堆内存进行管理,在垃圾回收效率、可预测的停顿时间等方面有很大优势。

    • 在性能方面,通过优化 JIT 编译器等方式进一步提高了 Java 程序的执行效率。

  3. Java 7

    • 2011 年 Java 7 发布,JVM 在垃圾回收方面有了新的进展。

    • G1 垃圾回收器在 Java 7u4 版本被正式推出,并且在 Java 7 中得到了更多的改进。

    • 在内存管理上,对方法区(永久代)的管理也进行了一些调整。

  4. Java 8

    • 2014 年 Java 8 发布,JVM 在内存结构上有了重大变革。

    • 方法区被元空间(Metaspace)取代,元空间使用本地内存,解决了永久代在内存管理上的一些问题,如内存泄漏风险等。

    • 在垃圾回收方面,继续优化 G1 等垃圾回收器的性能,使其在不同场景下的适用性更强。

三、现代 JVM(Java 9 及以后)

  1. Java 9

    • 2017 年 Java 9 发布,JVM 在多个方面进行了改进。

    • G1 被设置为默认的垃圾回收器,这表明 G1 垃圾回收器的成熟度和在现代 Java 应用中的广泛适用性。

    • 在模块系统的支持下,JVM 对模块的加载、内存管理等方面进行了相应的调整,提高了 Java 应用在模块化环境下的运行效率。

  2. Java 11

    • 2018 年 Java 11 发布,引入了 ZGC(Z Garbage Collector)。

    • ZGC 是一款以低延迟为首要目标的垃圾收集器,能够在非常短的时间内完成垃圾回收,停顿时间通常不超过 10 毫秒,并且可以处理从 8MB 到 16TB 的堆内存,可扩展性强。

  3. 后续版本(Java 12 及以后)

    • 在 Java 12、Java 13 等后续版本中,继续对现有的垃圾回收器(如 G1、ZGC)进行优化,同时也在探索新的垃圾回收技术和 JVM 性能提升的方法,以适应不断发展的 Java 应用需求和硬件技术的进步。

0
jvm
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区