Java虚拟机(1):认识Java技术体系及虚拟机

2020-09-10  本文已影响0人  几圈年轮

Java技术体系

按功能划分

按服务对象划分

Java虚拟机

HotSpot虚拟机(官方JDK均采用HotSpot VM),BEA JRockit(被Oracle 收购后不再开发)和IBM J9虚拟机;

Zing虚拟机,特定设备,是一个从HotSpot某旧版代码分支基础上独立出来重新开发的高性能Java虚拟机;

Apache Harmony ,没有真正地被大规模商业运用过,但是它的许多代码(主要是Java类库部分的代码)被吸纳进IBM的JDK 7实现以及Google Android SDK之中,尤其是对Android的发展起了很大推动作用;

Google AndroidDalvik VM,Android 4.4时代,支持提前编译(Ahead Of Time,AOT)的ART虚拟机迅速崛起,Android 5.0里ART就全面代替了Dalvik虚拟机;

Graal VM被官方称为“Universal VM”和“Polyglot VM”,这是一个在HotSpot虚拟机基础上增强而成的跨语言全栈虚拟机,可以作为“任何语言”的运行平台使用,这里“任何语言”包括了Java、Scala、Groovy、Kotlin等基于Java虚拟机之上的语言,还包括了C、C++、Rust等基于LLVM的语言,同时支持其他像JavaScript、Ruby、Python和R语言等。Graal VM可以无额外开销地混合使用这些编程语言,支持不同语言中混用对方的接口和对象,也能够支持这些语言使用已经编写好的本地库文件;

Substrate VM,是一个构建在Graal Compiler上的,支持ahead-of-time (AOT) compilation的编译及运行框架。

接下来会进一步阅读《深入理解Java虚拟机》,并进行更多内容的记录、讲解。

欢迎点赞/评论,你们的赞同和鼓励是我写作的最大动力!

上一篇 下一篇

猜你喜欢

热点阅读