Java程序运行原理
Java程序运行时,需经过编译和运行两个步骤。
首先将Java源代码,以.java为后缀的源文件进行编译,生成以.class为后缀的字节码文件。之后由JVM(Java Virtual Machine,Java虚拟机的缩写)将.class文件解释成计算机可识别的机器码。JVM将编译好的字节码文件加载到内存中,然后针对加载到内存中的java类进行解释执行。
这里涉及到一个知识点,JVM是什么?
它被称为Java虚拟机,事实上它就是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。它有一个解释器组件,可以实现Java字节码和计算机所识别的机器语言的转换。还包括了字节码指令集、寄存器、栈、垃圾回收堆和存储方法域。Java语言最重要的特点就是它的跨平台性。JVM屏蔽了与具体的操作系统平台相关的信息,使得java程序只需生成能够在Java虚拟机上运行的代码,也就是字节码,就能够在不同平台上直接运行。可以说,JVM是实现Java跨平台运行的最大功臣。