图解:
1、首先我们得有一个 java 文件
2、运行 javac 编译成 class 文件
3、ClassLoader 会把这个 class 文件录入到内存中
4、ClassLoader 同时还会把 java 中需要的类库也放入内存中
5、同时 ClassLoader 会调用 字节码解释器 或者 JIT即时编译器
6、然后它俩再给到 执行引擎 执行
7、执行引擎 执行完后给到硬件
2、JVM 跨语言的平台JVM 是由 C 语言和汇编语言开发
大家都知道 JAVA 只所以跨平台是因为 JDK 中有 JVM 虚拟机的存在
但是 JVM 和 JAVA 语言并没有关系
JVM 只负责编译,只要你是 CLASS 文件,那么都能在 JVM 虚拟机中运行
目前支持的语言有:scala、kotlin、groovy、clojure 等100多种
3、规范JVM 它是一种规范(既然你想在我这里执行,那么你就得按我说的做 - 傲娇)
官方文档 JDK 13 Documentation - Home
4、常见的JVM打开 cmd 命令输入 java -version,能看到我们使用的是 HotSpot
这里需要了解的可以去查看详细文档,主要介绍 HotSpot
HotSpot
由 SUM 公司开发,后面被 Oracle 收购,也是现在大家用的最广泛的 JVM,8 后就要收费了
Jrockit
由 BEA 公司开发,后面被 Oracle 收购,曾经号称最强
TaobaoVM
由 淘宝 开发,是 HotSpot 的深度定制版,免费哦~
LiquidVM
由 Liquid 开发,直接针对硬件
Azul zing
由 Azul 开发,目前最快,垃圾回收号称最强(1ms内),缺点:贼贵



