目录
[JVM 的功能](#JVM 的功能)
什么是JVM
JVM 的全程是 Java Virtual Machine( java 虚拟机 )
JVM 是一种用于计算设备的规范,也是一个虚构出来的计算机,通过在实际的计算机上仿真模拟各种计算机功能实现,JVM 屏蔽了与具体操作系统平台相关的信息,使 java 程序只需生成在 java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改的运行。JVM 在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令去执行。
JVM 的功能
1.解释和运行
对字节码文件中的指令,实时的解释成机器码,让计算机执行。
2.内存管理
JVM 负责 java 程序的内存使用,包括分配内存,垃圾回收等操作。
分配内存: 能够自动为对象,方法分配内存
垃圾回收:有自动的垃圾回收机制,回收不再使用的对象,从而避免了程序员手动进行内存回收 的 繁琐操作。
3.即时编译
对热点代码进行优化,提升执行效率。
在程序运行时,JVM会通过解释器将字节码逐条解释为指令并执行,这种方式虽然简单,但执行效率较低。为了提高程序的执行效率,JVM会在运行时将一些频繁执行的热点代码(hotspot code)编译成本地机器代码,然后直接执行这些机器代码,这种方式称为即时编译。
优点: 提高执行效率 优化性能 缓存优化
常见的JVM
HotSpot VM、BEA JRockit VM、IBM J9 VM、Azul VM、Apache Harmony、Google Dalvik VM、Microsoft JVM