在java的学习中会经常见到jvm这个词,但是都没有对jvm有一个明确的解释,我也是在学习过程中遇到了许多知识提及jvm,所以就去查阅资料,写下一些自己查到的理解。
jvm解释
jvm全称为java virtual machine-java虚拟机,我们可以直观的从名字上得出一个定义:jvm是java上的一个虚构出来的计算机,是一个位于java与操作系统之间的中间态。有自己完善的硬件结构,如处理器、堆栈、寄存器等,还具有相应的指令系统。
jvm作用
java程序的跨平台特性主要就是因为jvm实现的。在编译java程序时会将写好的源程序通过编译器编译生成.class文件(又称为字节码文件),之后就是通过jvm内部的解释器将字节码文件解释成为具体平台上的机器指令执行,所以就可以实现java程序的跨平台特性。
jvm内部体系结构大致分为三部分:类装载器(classloader)子系统,运行时数据区和执行引擎。
java程序运行与jvm的关系:
1.java源文件编译生成.class文件(字节码)
2.字节码由jvm解释运行。
因为java程序既要编译同时也要经过jvm的解释运行,所以java被称为半解释语言。