Java面试题:JDK 和 JRE 和 JVM 分别是什么,有什么区别?

官⽅解析
1. JDK Java Development Kit ): JDK Java 开发⼯具包 ,包含了编写、编译、调试和运⾏ Java 程序所需的
所有⼯具和组件,⽐如编译器( javac )、 Java API 、调试⼯具等。 JDK 是针对 Java 开发⼈员的, 它包含了
JRE ,还有编译器和其他⼯具,可以⽤来编写和调试 Java 程序。
2. JRE Java Runtime Environment ): JRE Java 运⾏时环境 包括了 Java 虚拟机( JVM )和 Java 标准类
库( Java API JRE 是针对 Java 应⽤程序的,它 提供了在计算机上运⾏ Java 应⽤程序所需的最⼩环境
3. JVM Java Virtual Machine ): JVM Java 虚拟机 ,是 Java 程序运⾏的环境。 JVM 负责将 Java 代码解释或
编译为本地机器代码,并在运⾏时提供必要的环境⽀持,⽐如内存管理、垃圾回收、安全性等。 JVM 的主要
作⽤是 Java 代码转换为可以在计算机上运⾏的机器码,并负责程序的执⾏
综上所述, JDK JRE JVM 之间的区别可以总结如下:
JDK Java 开发⼯具包 ,包括了编译器、 Java API 、调试⼯具等,⽤于开发 Java 应⽤程序。
JRE Java 运⾏时环境 ,包括了 Java 虚拟机和 Java 标准类库,⽤于在计算机上运⾏ Java 应⽤程序。
JVM Java 虚拟机 ,是 Java 程序运⾏的环境,负责将 Java 代码转换为可以在计算机上运⾏的机器码,并提供必要的环境⽀持。
--------------------------------------------------------------
所以Java 虚拟机( JVM )是运⾏ Java 字节码的虚拟机。 JVM 有针对不同系统的特定实现( Windows Linux
macOS ),⽬的是使⽤相同的字节码,它们都会给出相同的结果。字节码和不同系统的 JVM 实现是 Java 语⾔
次编译,到处运⾏ 的关键所在。
JVM 并不是只有⼀种!只要满⾜ JVM 规范,每个公司、组织或者个⼈都可以开发⾃⼰的专属 JVM
JDK Java Development Kit 缩写,它是功能⻬全的 Java SDK 。它拥有 JRE 所拥有的⼀切,还有编译器( javac
和⼯具(如 javadoc jdb )。它能够创建和编译程序。
JRE Java 运⾏时环境。它是运⾏已编译 Java 程序所需的所有内容的集合,包括 Java 虚拟机( JVM ), Java
库, java 命令和其他的⼀些基础构件。但是,它不能⽤于创建新程序。
如果你只是为了运⾏⼀下 Java 程序的话,那么你只需要安装 JRE 就可以了。如果你需要进⾏⼀些 Java 编程⽅⾯的
⼯作,那么你就需要安装 JDK 了。

你可能感兴趣的:(java,jvm,面试)