1、了解JVM

1、JVM、JRE、JDK

JVM:是可以将要运行的程序编译成机器语言并去执行的一个平台,具有跨语言、跨平台的特性,运行时需要依赖JRE中的类库

JRE:包含了JVM以及代码运行时的类库,时Java程序运行时的环境

JDK:Java语言开发的工具包,是整个Java开发的核心,包含了JRE、Java工具和Java基础类库

 

跨语言,也可以称为语言无关性,不仅时Java语言编写的程序,其他语言编写的程序编译之后也可以在JVM上运行,因为JVM不是来识别语言的,而是识别字节码,通过把字节码编译成机器语言去运行的

跨平台,同一个类在不同系统上的JVM上去运行,其结果是一样的

2、常见的JVM

Hotspot:目前使用的最多的 Java 虚拟机。在命令行 java –version。它会输出你现在使用的虚拟机的名字、版本等信息、执行模式
 
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

 

posted @ 2020-09-23 10:48  CarBlack  阅读(154)  评论(0编辑  收藏  举报