一 概述
JVM(Java Virtual Machine)是,它是一种抽象的计算机,通过在不同计算机上仿真模拟计算机的功能,拥有自己完善的硬件架构,如处理器,堆栈,寄存器等。此外,它还有相应的指令系统,JVM屏蔽了与具体操作系统相关的信息,使得编程语言只需编译生成能够被JVM解析的字节码,就可以在任何装有JVM的机器上被解释执行。
JVM是一个内存中的虚拟机,则JVM的存储就是内存。主流的JVM是基于C++语言实现的。
二 JVM与字节码
各种平台上的Java虚拟机以及所有平台都统一支持的程序存储格式——字节码(Byte Code),他是构成程序平台无关性的基础,而源代码编译生成的class文件是解决平台无关性的中间文件。
由上图可以,无论何种编程语言,只要经过特殊的编译器编译成Java虚拟机支持的字节码文件就可以在Java虚拟机上解释执行。
参考文章:java class文件详解