JDK JRE JVM区别
- JDK ( Java SE Development Kit ), Java 标准的开发包,提供了编译、运行 Java 程序所需要的各种工具和资源 ,包括了 Java 编译器、 Java 运行时环境、以及常用的 Java 类库等。
- JRE ( Java Runtime Environment ) , Java 运行时环境,用于解释执行 Java 的字节码文件 。普通用户只需要安装 JRE 来运行 Java 程序即可,而作为一名程序员必须安装 JDK ,来编译、调试程序。
- JVM ( Java Virtual Mechinal ),Java 虚拟机,是 JRE 的一部分。 它是整个 Java 实现跨平台的核心 ,负责解释执行字节码文件,是可运行 Java 字节码文件的虚拟计算机。所有平台上的 JVM 向编译器提供相同的接口,而编译器只需要面向虚拟机,生成虚拟机能识别的代码,然后由虚拟机来解释执行。当使用 Java 编译器编译 Java 程序时,生成的是与平台无关的字节码,这些字节码只面向 JVM 。也就是说JVM 是运行 Java 字节码的虚拟机。不同平台的 JVM 是不同的,但是他们都提供了相同的接口。 JVM 是 Java 程序跨平台的关键部分,只要为不同平台实现了相同的虚拟机,编译后的 Java 字节码就可以在该平台上运行。
.java与.class区别
.java文件是源文件,通过javac命令编译后生成.class文件;
.class文件是字码结文件,即.java文件编译后的代码