JVM入门
JVM(Java Virtual Machine),即Java虚拟机,它是一个将.class(字节码)文件翻译成特定平台下的机器码并运行的虚拟计算机
了解JVM前先回忆下我们写的第一个Java程序是如何执行的:
public class Test{
public static void main(String[] args) {
System.out.println("hello");
}
}
① 使用 javac 命令来编译 Java 文件
② 使用 java 命令执行编译的文件
以上 Test.class 文件就是通过JVM加载到内存并解释执行的,可见Java程序的运行离不开JVM:
如何理解Java是跨平台的语言
Java语言执行离不开JVM,而不同平台JVM也不一样,所以JVM是跨平台的关键,可以说JVM屏蔽了平台的差异,注意:Java语言跨平台但JVM不跨平台
JVM是跨语言的平台
如下,有非常多语言都可以运行在JVM上,从上文了解到JVM操作的是 .class文件而不是.java文件,所以只要保证不同语言生成的.class文件规范一样就可以运行在JVM上
JVM规范
Java语言及JVM规范文档:
https://docs.oracle.com/javase/specs/index.html
Java SE8 JVM规范文档:
https://docs.oracle.com/javase/specs/jvms/se8/html/index.html
常见的JVM实现
以下是基于JVM规范的不同实现:
输入 java -version 命令可以查看当前虚拟机名字和执行模式
如下: 当前虚拟机为 HotSpot , 执行模式为 mixed mode (混合模式)