文章目录
- 一、什么是JVM
- 二、JVM的功能
- 1、解释和运行
- 2、内存管理
- 3、即时编译
- 三、常见的JVM
- 四、Java虚拟机规范
- 五、HotSpot发展历程
一、什么是JVM
JVM的全称为Java Virtual Machine,Java虚拟机。本质上是一个运行在计算机上的程序,职责是运行Java字节码文件。
二、JVM的功能
1、解释和运行
对字节码文件中的指令实时解释成机器吗,让计算机执行。
2、内存管理
- 自动为对象、方法等分配内存。
- 自动的垃圾回收机制,回收不再使用的对象。
3、即时编译
-
对热点代码进行优化,提升执行效率。
-
Java需要实时解释,主要是为了支持跨平台特性。
-
由于JVM需要实时解释虚拟机指令,不做任何优化性能不如直接运行机器吗的C、C++等语言。
-
JVM提供了即时编译(Just - In - Time简称JIT)记性性能的优化,最终达到接近C、C++语言的运行性能甚至在特定场景下实现超越。
三、常见的JVM
四、Java虚拟机规范
- 《Java虚拟机规范》由Oralce制定,内容主要包含了Java虚拟机在设计和实现时需要遵守的规范,主要包含Class字节码文件的定义、类和接口的加载和初始化、指令集内容。
- 《Java虚拟机规范》是对虚拟机设计的要求,而不是对Java设计的要求,也就是说虚拟机可以运行在其他的语言比如Groovy、Scala生成的class字节码文件之上。
- 官网:https://docs.oracle.com/javase/specs/index.html