![附学习路线图 java学习体系框架](http://img.sichuanlong.com/220524/100933E39-0.png)
文章插图
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 VMClass VM (JDK 1.0)世界上第一款商用 Java 虚拟机纯解释器方式执行 Java 代码对象查找基于句柄Exact VM (JDK 1.2)准确式内存管理:虚拟机可以知道内存中某个位置的数据具体类型HotSpot VMSun/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 VMJava ME 虚拟机BEA JRockit/IBM J9 VM这两个虚拟机曾与 HotSpot 虚拟机并称”三大商业 Java 虚拟机” 。
JRockit专注于服务端应用不含解释器 , 全部代码都由即时编译器编译后执行J9 VM职责分离与模块化优于 HotSpot VMBEA 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 VM2018 年 4 月 , Oracle Labs 公开的黑科技:Graal VM 。
Graal VM 被官方称为”Universal VM”和”Polyglot VM” , 它是在 HotSpot 虚拟机基础上增强而成的跨语言全栈虚拟机 。可作为”任何语言”的运行平台 , 包括:
以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!
「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助:- 苹果手电脑2021年款价格(附近有没有卖二手电脑的
- 有没有免费学习日常生活技能的平台网站或app推荐,比如水工、电工技能,推荐一下?
- 附使用步骤和激活工具 office2016破解补丁怎么用
- 如何破解,学习英语的三大魔咒! 如何突破英语
- 颈椎病的最好锻炼方法:教你学习颈椎病保健操
- 李云迪被拘恩师怒挂电话 究竟是怎么一回事?附详情
- 颈椎病的自我治疗体操:学习颈椎病保健操防患于未然
- 官方回应上海六院封闭 具体怎么说的?附详情
- 学习动物的行为可达到除病养生目的
- 沈阳一饭店燃气爆炸 半条街成废墟!具体事故原因是什么?附详情