JVM(Java虚拟机)是一个软件。它是一个规范,提供可以执行java字节码的运行时环境。
JVM的操作
JVM主要执行以下操作。
为类属性分配足够的内存空间。
提供可以执行java字节码的运行时环境
将字节代码指令转换为机器级指令。
在安装Java软件时,JVM可单独用于每个操作系统,以便JVM与平台相关。
注意: Java是独立于平台的,但JVM是依赖于平台的,因为每个操作系统都有不同的JVM,它们与JDK Software一起安装。
类加载器子系统:
类加载器子系统将.class文件加载到java堆栈中,之后将为java程序的所有属性分配足够的内存到以下五个内存位置。
- 堆区
- 方法区域
- Java堆栈
- PC寄存器
- 本机堆栈
堆区:
将存储哪些对象引用。
方法区域
其中将存储静态变量非静态和静态方法。
Java堆栈
其中将存储所有类的非静态变量,其地址由对象引用引用。
PC寄存器
哪个保存下一个可执行指令的地址,这意味着在执行过程中使用该方法的优先级?
原生堆栈
本机堆栈保存本机代码的指令(除了java代码)本机堆栈依赖于本机库。Native接口将访问本机堆栈和本机库之间的接口。
执行引擎
其中包含Interpreter和JIT编译器,无论何时任何java程序在第一次执行时,解释器都会进入画面,并将逐个字节的代码指令转换为机器级指令JIT编译器(只是及时编译器)将从第二次进入图片如果相同的java程序正在执行,则它向前提供缓冲存储器中可用的进程的机器级指令。
注意: JIT编译器的主要目的是加速java程序的执行。
什么是JIT以及为什么要使用JIT
JIT是由SUN Micro System开发的一组程序,作为JVM的一部分添加,以加快解释阶段。
在旧版本的java编译阶段比解释阶段快得多。业界向SUN Micro System抱怨称编译阶段非常快,解释阶段非常缓慢。
因此,解决这个问题,SUN Micro System开发了一个名为JIT(即时编译器)的程序,并作为JVM的一部分添加,以加快解释阶段。在当前版本的java解释阶段比编译阶段快得多。因此,java是高度解释的编程语言之一。
评论已关闭