Java虚拟机是一个可以执行Java字节码的虚拟机进程。
用Java编写的程序(存放在扩展名为java的文件中)经过编译器(即JDK根目录bin文件夹中的javac.exe文件)编译成字节码文件(即扩展名为class的文件),这个字节码文件不是针对具体平台的,而是针对抽象的Java虚拟机的,在Java虚拟机上运行,在不同类型的平台上安装不同的Java虚拟机,这些不同的Java虚拟机屏蔽了各个不同平台的差异,从而使编译过的Java程序具有平台无关性,即Java虚拟机在执行字节码时,把字节码解析成具体平台上的机器指令执行。
如该图,Java必须先通过编译使源程序成为.class类型文件,然后通过类装载器(Java运行时环境的一部分)动态加载Java类到Java虚拟机的内存空间里,然后通过字节码校验器的校验(校验器负责校验那些指令无法执行的明显有破坏性的操作,除了系统的类外,所有的类都要被校验),最后由解释器一条一条的解释成机器语言给计算机来执行。
Java程序运行原理
最新推荐文章于 2022-04-12 20:00:53 发布