这期内容当中小编将会给大家带来有关Java技术体系是什么及如何概述JVM,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
创新互联建站拥有10余年的建站服务经验,在此期间,我们发现较多的客户在挑选建站服务商前都非常的犹豫。主要问题集中:在无法预知自己的网站呈现的效果是什么样的?也无法判断选择的服务商设计出来的网页效果自己是否会满意?创新互联建站业务涵盖了互联网平台网站建设、移动平台网站制作、网络推广、按需定制等服务。创新互联建站网站开发公司本着不拘一格的网站视觉设计和网站开发技术相结合,为企业做网站提供成熟的网站设计方案。
Java 不仅仅是一门编程语言,还是一个由一系列计算机软件和规范组成的技术体系。
Java 的广告词为 "一次编写,到处运行",之所以能够做到"跨平台",是因为每个平台上不同的虚拟机屏蔽了硬件的差异,而 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 技术体系包含的内容如下:
"Java 虚拟机" 只是一个概念,它的实现产品众多,下面简要介绍其发展历程。
Class VM (JDK 1.0)
世界上第一款商用 Java 虚拟机
纯解释器方式执行 Java 代码
对象查找基于句柄
Exact VM (JDK 1.2)
准确式内存管理:虚拟机可以知道内存中某个位置的数据具体类型
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 虚拟机。
Java ME 虚拟机
这两个虚拟机曾与 HotSpot 虚拟机并称"三大商业 Java 虚拟机"。
JRockit
专注于服务端应用
不含解释器,全部代码都由即时编译器编译后执行
J9 VM
职责分离与模块化优于 HotSpot VM
与特定硬件平台绑定、软硬件配合的专有虚拟机
这两者是 "虚拟机",而非 "Java 虚拟机"。
Harmony VM
未通过 TCK 认证
未大规模商用
Dalvik VM
未遵循《Java 虚拟机规范》
不能直接执行 Java 的 Class 文件
曾经是 Windows 系统下性能最好的 Java 虚拟机
KVM:曾在手机平台上得到广泛应用
Java Card VM
其他还有很多各种各样的虚拟机,不再一一列举。值得注意的是一个比较新的 Java 虚拟机: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 很有可能"上位"。
本文主要介绍了 Java 技术体系和 Java 虚拟机的发展历程,该部分内容了解即可,后文再分析虚拟机的主要内容。
为便于回顾和总结,这里将上述内容整理成了思维导图:
上述就是小编为大家分享的Java技术体系是什么及如何概述JVM了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。