有 Java 编程经验的程序员应该都知道: Java 程序是运行在 JVM(Java 虚拟机)上的, 在开发程序之前都要配置 Java 开发环境, 其中首先要做的就是 JDK 的安装和配置, 那么 JDK,JVM,JRE 到底有何联系和区别呢? 想必并不是每一个程序员都能说得清楚的, 本文接下来将带你了解它们之间的关系.
一, JDK
JDK(Java SE Development Kit),Java 标准开发包, 它提供了编译, 运行 Java 程序所需的各种工具和资源, 包括 Java 编译器, Java 运行时环境, 以及常用的 Java 类库等.
下图是 JDK 的安装目录:
二, JRE
JRE( Java Runtime Environment) ,Java 运行环境, 用于解释执行 Java 的字节码文件. 普通用户而只需要安装 JRE(Java Runtime Environment)来运行 Java 程序. 而程序开发者必须安装 JDK 来编译, 调试程序.
下图是 JRE 的安装目录: 里面有两个文件夹 bin 和 lib, 在这里可以认为 bin 里的就是 jvm,lib 中则是 jvm 工作所需要的类库, 而 jvm 和 lib 和起来就称为 jre.
三, JVM
JVM(Java Virtual Mechinal),Java 虚拟机, 是 JRE 的一部分. 它是整个 java 实现跨平台的最核心的部分, 负责解释执行字节码文件, 是可运行 java 字节码文件的虚拟计算机. 所有平台的上的 JVM 向编译器提供相同的接口, 而编译器只需要面向虚拟机, 生成虚拟机能识别的代码, 然后由虚拟机来解释执行.
当使用 Java 编译器编译 Java 程序时, 生成的是与平台无关的字节码, 这些字节码只面向 JVM. 不同平台的 JVM 都是不同的, 但它们都提供了相同的接口. JVM 是 Java 程序跨平台的关键部分, 只要为不同平台实现了相应的虚拟机, 编译后的 Java 字节码就可以在该平台上运行.
四, 区别与联系
JDK 用于开发, JRE 用于运行 java 程序 ; 如果只是运行 Java 程序, 可以只安装 JRE, 无序安装 JDK.
JDk 包含 JRE,JDK 和 JRE 中都包含 JVM.
JVM 是 java 编程语言的核心并且具有平台独立性.
如需转载, 请注明作者 (冰湖一角) 和链接 https://www.cnblogs.com/bingyimeiling/p/10266949.html
来源: https://www.cnblogs.com/bingyimeiling/p/10266949.html