文章目录
- 一、什么是JVM
- 二、优点
- 三、比较
- 四、学习路线
一、什么是JVM
定义:java
程序的运行环境
首先,我们要知道,JVM是一套规范,运行java程序的一套规范。
那么,我们学习过java的人都知道,接口规范的实现类是很多的。
JVM也是一样,有很多公司实现了这套规范。
例如:
Hotspot
:目前使用的最多的 Java
虚拟机。
Jrocket
:原来属于BEA
公司,曾号称世界上最快的 JVM
,后被 Oracle
公司收购,合并于 Hotspot
J9
: IBM
有自己的 java
虚拟机实现,它的名字叫做 J9
. 主要是用在 IBM
产品(IBM WebSphere
和 IBM
的 AIX
平台上)
TaobaoVM
: 只有一定体量、一定规模的厂商才会开发自己的虚拟机,比如淘宝有自己的 VM
,它实际上是 Hotspot
的定制版,专门为淘宝准备的,阿里、天猫都是用的这款虚拟机。
LiquidVM
: 它是一个针对硬件的虚拟机,它下面是没有操作系统的(不是 Linux
也不是 windows
),下面直接就是硬件,运行效率比较高。
zing
: 它属于 zual
这家公司,非常牛,是一个商业产品,很贵!它的垃圾回收速度非常快(1 毫秒之内),是业界标杆。它的一个垃圾回收的算法后来被 Hotspot
吸收才有了现在的 ZGC
。
二、优点
一次编译,处处运行
自动内存管理,垃圾回收机制
三、比较
JDK、JRE、JVM
的区别
四、学习路线
1、JVM内存结构
2、GC:垃圾回收器
3、Java Class:Java字节码
4、ClassLoader:类加载器
5、JIT Compiler:即时编译器