目录
一、什么是JVM
JVM 全称是 Java Virtual Machine,中文译名 Java虚拟机。
JVM 本质上是一个运行在计算机上的程序,他的职责是运行Java字节码文件。
二、JVM的功能
解释和运行
对字节码文件中的指令,实时的解释成机器码,让计算机执行。
内存管理
自动为对象、方法等分配内存。
自动的垃圾回收机制,回收不再使用的对象。
即时编译
对热点代码进行优化,提升执行效率。
Java语言如果不做任何优化,性能不如C、C++等语言。
因为C、C++等语言直接就可以生成exe可执行文件,可以直接运行,而Java需要通过解释器。
Java需要实时解释,主要是为了支持跨平台特性。
对于热点代码字节码指令,JVM会将其进行解释并优化,生成对应的汇编和机器码等内容,将其存入到内存中,等下次执行的时候,直接就可以调用内存中的内容即可。
三、常见的JVM
Java虚拟机规范
《Java虚拟机规范》由Oracle制定,内容主要包含了Java虚拟机在设计和实现时需要遵守的规范,主要包含class字节码文件的定义、类和接口的加载和初始化、指令集等内容。
《Java虚拟机规范》是对虚拟机设计的要求,而不是对Java设计的要求,也就是说虚拟机可以运行在其他的语言比如Groovy、Scala生成的class字节码文件之上。
官网地址:
https://docs.oracle.com/javase/specs/index.html
HotSpot的发展历程
四、总结
1、JVM到底是什么?
JVM
全称是
J
ava
V
irtual
M
achine,中文译名
Java虚拟机
,是一个运行在计算
机上的程序,他的职责是运行
Java字节码文件
。
2、JVM的三大核心功能是什么?
JVM 包含内存管理、解释执行虚拟机指令、即时编译三大功能。
3、常见的JVM虚拟机有哪些?
常见的JVM有HotSpot、GraalVM、OpenJ9等,另外DragonWell龙井JDK也
提供了一款功能增强版的JVM。其中使用最广泛的是HotSpot虚拟机。
![](https://img-blog.csdnimg.cn/direct/84a7b067e9f24652ba5158e45cf93cc2.png)