JVM-jvm规范出处、规范和实现

 2023-02-13
原文作者:前路无畏 原文地址:https://juejin.cn/post/6911564600685101069

对于 java 程序员来说 jvm 十分重要。那么你有么有想过一个问题?jvm 的知识都是从哪里来的?现在市面上的一些有关书籍及知识是从哪里来的?

在 oracle 官网有对 jvm 的规范的文章,找到文档你可读一下,然后再去看市面山的 jvm 知识你会发现全部出自此,所以这里才是 jvm 的根的出处,好的,接下来我们找一下官方文档。

1.1 页面搜索 【java download】

202301011652158651.png
可以看到现在 java 已经更新到 15 了。

1.2 点击【Documentation】

202301011652167252.png

1.3 点击【Specifications】->【Language and VM】

202301011652179453.png

1.4 点击【Specifications】->【Language and VM】

可看到各个版本的 jvm 规范。我们按版本下载或者直接查看即可。关注点放在 jvm 上哦!别放在 java 规范上哦(有兴趣可以看 java 规范)本阶段关注与 jvm。

202301011652188754.png
找到老巢了,如果你不进攻我也没办法了。干就完了。

以上看到的是 jvm 的规范,都是一些规范性的规定。那么现在我们使用的 jvm 是什么,有没有其他的 jvm,按此规范设计的 jvm 有多少呢?

2.1 我们使用的是 Java HotSpot™ 64-Bit Server VM (build 25.201-b09, mixed mode)

202301011652200305.png

  • Java HotSpot™ 我们用的虚拟机叫这个名字
  • Server 表示是服务器版本,也有 Client 版本
  • mixed mode 使用的是解释执行 + jit 及时编译的方式

2.2 还有么有其他的 vm 呢?

jvm名字 说明
HotSpot oracle官方我用的
Jrockit BEA,曾经号称世界最快,后被oracle收购,与hotspot做整合
J9 IBM虚拟机
TaobaoVM HotSpot深度定制版,高手写的
azulzing 世界标杆,商业版本
其他N多种 其他N多种

从上面可以看出

  1. jvm 有一套规范 oracle 定的
  2. jvm 有超多实现,即有超级多的产品可以选择
  3. 我们使用的 java8 的 jvm,知道我们在这里面的位置

202301011652205406.png

自律的艰辛总甜过懊悔的苦果!
专注于 java 后端技术及解决方案,善于总结,分享!
自律的艰辛总甜过懊悔的苦果!
专注于 java 后端技术及解决方案,善于总结,分享!
自律的艰辛总甜过懊悔的苦果!
专注于 java 后端技术及解决方案,善于总结,分享!