admin 管理员组

文章数量: 1086019


2024年5月31日发(作者:php两个项目session共享)

java虚拟机的原理

Java虚拟机的原理是在计算机系统内部,使用一种定义好的标准

(语言)来描述代码程序,以此来实现对某种特定类型(操作系统或

平台)硬件平台的软件解析。它作为一种抽象层,能够在操作系统之

上运行,成为一个独立的应用程序。

一般来说,Java虚拟机有三个部分组成,分别是虚拟机运行时

(Virtual Machine Runtime)、虚拟机类加载器(Virtual Machine

Class Loader)和虚拟机执行环境(Virtual Machine Execution

Environment)。其中,虚拟机运行时是用来处理并执行Java字节码

的,它包含了一个不断运行的程序,来处理传入的Java字节码;而虚

拟机类加载器,则用来加载Java类并将其转换为虚拟机可以识别的格

式,最后虚拟机执行环境则是接受虚拟机运行时处理过的Java字节码,

然后用相应的指令集来执行Java字节码,以此来实现实际的程序逻辑。

下面我们就进一步来看看Java虚拟机的工作流程:

首先,将Java源代码编译成字节码文件,例如.class文件,这

些.class文件就是最终要运行在Java虚拟机上的文件;

然后,Java虚拟机接管文件,即将.class文件作为输入,经过一

系列的处理;

接着,虚拟机类加载器就会根据被处理后的.class文件,把该文

件当前的状态(比如类属性、方法、实例变量等)加载到内存中;

随后,虚拟机内部可以开始运行,大致可以分为3个步骤:

第一步,当所要执行的代码被加载到内存之后,就可以开始把字节码

文件中的指令转化为实际的机器指令;

第二部,虚拟机将会按照顺序一条条执行这些机器指令;

最后,当代码被执行完成之后,虚拟机可能会返回一些执行结果,

也可能会返回一个错误代码,这取决于前面的程序有没有正确执行。

总的来说,Java虚拟机的原理就是将一些高级语言(比如java)

编译成一些中间语言(字节码),然后再在虚拟机上将字节码转换为

机器指令,最终执行代码程序。


本文标签: 执行 字节 文件 程序 代码