java学习体系框架(附学习路线图)

admin 2025-05-09 09:41:58 阅读:1 评论:0
1.前言 Java 不仅仅是一门编程语言,还是一个由一系列计算机软件和规范组成的技术体系。 Java 的广告词为 &“一次编写,到处运行&”,之所以能够做到&”跨平台&”,是因为每个平台上不同的虚拟机屏蔽...

1.前言

Java 不仅仅是一门编程语言,还是一个由一系列计算机软件和规范组成的技术体系。

Java 的广告词为 &“一次编写,到处运行&”,之所以能够做到&”跨平台&”,是因为每个平台上不同的虚拟机屏蔽了硬件的差异,而 Java 程序则是运行在虚拟机之上的。

本文简要介绍 Java 技术体系及 Java 虚拟机(Java Virtual Machine, JVM)的相关发展历程,后文再进一步分析 Java 虚拟机的详细内容。

PS: 本文及接下来的 JVM 笔记内容主要来自周志明《深入理解 Java 虚拟机(第3版)》。

2. Java技术体系

广义上讲,Kotlin、Groovy、JRuby 等运行于 Java 虚拟机上的编程语言及其相关程序都属于 Java 技术体系。

而从传统意义上来看,JCP 官方定义的 Java 技术体系主要包括:

Java 程序设计语言各种硬件平台上的 Java 虚拟机Class 文件格式Java 类库 API商业机构和开源社区的第三方 Java 类库

其中 Java 程序设计语言、Java 虚拟机、Java 类库三部分统称为 JDK(Java Development Kit),JDK 是支持 Java 程序开发的最小环境。

Java 类库 API 中的 Java SE API 子集和 Java 虚拟机统称为 JRE(Java Runtime Environment),JRE 是支持 Java 程序运行的标准环境。

PS: JCP 全称 Java Community Process,即 Java 社区,由业界多家技术巨头组成的社区,用于定义和发展 Java 的技术规范。

Java 技术体系包含的内容如下:

3. JVM家族

&“Java 虚拟机&” 只是一个概念,它的实现产品众多,下面简要介绍其发展历程。

Sun Classic/Exact VM

Class VM (JDK 1.0)世界上第一款商用 Java 虚拟机纯解释器方式执行 Java 代码对象查找基于句柄Exact VM (JDK 1.2)准确式内存管理:虚拟机可以知道内存中某个位置的数据具体类型

HotSpot VM

Sun/OracleJDK 和 OpenJDK 中默认虚拟机目前使用范围最广的 Java 虚拟机

由于 HotSpot 虚拟机是目前使用最广泛的,而且是目前 OracleJDK 和 OpenJDK 的默认虚拟机,后文的内容分析主要是针对该虚拟机。

终端执行 java -version 命令如下(不同机器会有所不同,此处仅供参考):

$ java -versionjava version "1.8.0_191"Java(TM) SE Runtime Environment (build 1.8.0_191-b12)Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

这里的 HotSpot(TM) 64-Bit Server VM 指的就是 HotSpot 虚拟机。

Mobile/Embedded VM

Java ME 虚拟机

BEA JRockit/IBM J9 VM

这两个虚拟机曾与 HotSpot 虚拟机并称&”三大商业 Java 虚拟机&”。

JRockit专注于服务端应用不含解释器,全部代码都由即时编译器编译后执行J9 VM职责分离与模块化优于 HotSpot VM

BEA Liquid VM/Azul VM

与特定硬件平台绑定、软硬件配合的专有虚拟机

Apache Harmony/Google Android Dalvik VM

这两者是 &“虚拟机&”,而非 &“Java 虚拟机&”。

Harmony VM未通过 TCK 认证未大规模商用Dalvik VM未遵循《Java 虚拟机规范》不能直接执行 Java 的 Class 文件

Microsoft JVM

曾经是 Windows 系统下性能最好的 Java 虚拟机

其他

KVM:曾在手机平台上得到广泛应用Java Card VM……

其他还有很多各种各样的虚拟机,不再一一列举。值得注意的是一个比较新的 Java 虚拟机:Graal VM。

Graal VM

2018 年 4 月,Oracle Labs 公开的黑科技:Graal VM。

Graal VM 被官方称为&”Universal VM&”和&”Polyglot VM&”,它是在 HotSpot 虚拟机基础上增强而成的跨语言全栈虚拟机。可作为&”任何语言&”的运行平台,包括:

Java、Scala、Groovy、Kotlin 等基于 Java 虚拟机之上的语言C、C++、Rust 等基于 LLVM 的语言,同时支持 JavaScript、Ruby、Python 等

如图所示:

而且自 JDK 10 起,HotSpot 中又加入了一个全新的即时编译器:Graal 编译器。

如若将来某一天 HotSpot 虚拟机真的被替换,Graal VM 很有可能&”上位&”。

4. 小结

本文主要介绍了 Java 技术体系和 Java 虚拟机的发展历程,该部分内容了解即可,后文再分析虚拟机的主要内容。

为便于回顾和总结,这里将上述内容整理成了思维导图:

版权声明

本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。文章内容、图片素材等内容均为用户上传,仅供学习参考。如有侵犯您的版权,请联系我们,本站将在三个工作日内改正、删除。


热门标签:代表什么生肖,正确的生肖,指什么生肖,打一生肖,解一生肖,猜一生肖,是什么生肖

分享:

扫一扫在手机阅读、分享本文

热门文章
  • 一朝成名打一个生肖,答案释义解释落实

    一朝成名打一个生肖,答案释义解释落实
    答案:龙 释义解释落实 释义: 一朝:早晨,指短时间。 成名:名声大噪,知名度提高。 解释: 龙是一种传说中的动物,常被形容为神圣、威严、强大的生物。在中国传统文化中,龙是吉祥的象征,代表着权势、地位和荣誉。因此,“一朝成名”比喻一个人在很短的时间内名声大噪,获得了极高的知名度和地位。 落实: 在现实生活中,“一朝成名”往往与以下情况有关: 获得重大的奖项或荣誉。 创作出广受好评的作品...
  • 务必谨慎应对 属鼠者今年面临重大考验

    务必谨慎应对 属鼠者今年面临重大考验
    属鼠者今年整体运势呈现较大的波动性,吉凶相伴,考验重重。 事业运势 属鼠者今年事业运势呈现两极分化的态势。 上半年:受到吉星庇佑,工作顺利,升职加薪的机会较多。 下半年:运势有所起伏,需注意人际关系的维护,避免与同事或上司发生冲突。对于创业者而言,今年是拓展业务的好时机,但需稳扎稳打,切勿盲目扩张。 财运运势 属鼠者今年财运运势较为稳定,正财收入丰厚。 正财:收入稳定,有望获得升职加薪的机会。 偏...
  • 女子网购羽绒服未退货,巧舌如簧称没偷没抢

    女子网购羽绒服未退货,巧舌如簧称没偷没抢
    近日,一位女子网购了一件羽绒服,收到商品后,她以质量问题为由要求退货,但商家拒绝了她的请求。女子于是巧舌如簧,声称自己没有偷也没有抢,商家不给她退货是不合理的。 女子称,她购买的羽绒服存在以下几个问题:羽绒填充不均匀,导致衣服保暖效果差;面料薄透,容易起毛;拉链不顺滑,容易卡顿。 商家表示,女子提出的质量问题都是不成立的。羽绒填充均匀,保暖效果良好;面料厚实,不易起毛;拉链顺滑,无卡顿现象。商家还提供了检测报告,证明羽绒服符合国家标准。 女子对商家的检测...
  • 精准阐释:猪狗不如对应的最佳生肖,透彻释义

    精准阐释:猪狗不如对应的最佳生肖,透彻释义
    猪狗不如对应的最佳生肖 “猪狗不如”一词常用来形容一个人品质卑劣、行为不端。但你知道吗?在十二生肖中,“猪”和“狗”对应着不同的生肖,而这些生肖往往是“猪狗不如”的反义词,代表着善良、忠诚等美德。 猪对应的最佳生肖:羊 “猪”对应着十二生肖中的“羊”。羊性情温和,温婉可人,富有同情心。它与猪的贪婪、懒惰形成鲜明对比,代表着善良、纯洁和牺牲精神。 狗对应的最佳生肖:兔 “狗”对应着十二生肖中的“兔”。兔机灵聪明,温顺乖巧,有亲和力。它与狗的忠诚、守信形成呼应,...
  • 98年虎何时踏入囍门最吉利 1998年属虎2025年最佳结婚月份

    98年虎何时踏入囍门最吉利 1998年属虎2025年最佳结婚月份
    1998年属虎人2025年结婚大利月份解析及注意事项 俗话说,男大当婚,女大当嫁。1998年的属虎人如今也已经32岁了,这个年纪在人们的认知中已经是大龄青年,所以大家都十分慎重看待此时。若是已经有了伴侣,大部分人都会选择尽快结婚。那么如果98年属虎人打算在今年结婚,大利的月份是在什么时候呢? 1998属虎2025年最佳结婚月份 每个月都有相应的吉日,人们会根据新人的双方属相、生辰八字来选择避开对冲煞的日子,选择相合的有利吉日。以下这几...