你知道JDK、JRE与JVM的区别吗

简介: JDK 的英文全称是 Java Development Kit。JDK是用于制作程序和Java应用程序的软件开发环境。Java 开发人员可以在 Windows、macOS、Solaris 和 Linux 上使用,是一个跨平台编程语言。JDK 帮助他们编写和运行 Java 程序。可以在同一台计算机上安装多个 JDK 版本。

什么是 JDK?

JDK 的英文全称是 Java Development Kit。JDK是用于制作程序和Java应用程序的软件开发环境。Java 开发人员可以在 Windows、macOS、Solaris 和 Linux 上使用,是一个跨平台编程语言。JDK 帮助他们编写和运行 Java 程序。可以在同一台计算机上安装多个 JDK 版本。

什么是 JRE?

JRE 的英文全称是 Java Runtime Environment。JRE 是一个旨在运行其他软件的软件(有点绕口)。它包含类库、加载器类和 JVM。简单来说,如果你想运行 Java 程序,你需要 JRE。如果您不是程序员,则无需安装 JDK,只需安装 JRE 即可运行 Java 程序。不过,所有 JDK 版本都与 Java Runtime Environment 捆绑在一起,因此无需在 PC 单独下载和安装 JRE。JRE 的完整形式是 Java 运行时环境。

什么是JVM?

JVM 的英文全称是Java Virtual Machine。JVM 是一个引擎,它提供运行时环境驱动 Java 代码或应用程序。它将 Java 字节码转换为机器语言。JVM 是 Java 运行环境 (JRE) 的一部分。它不能单独下载和安装。要安装 JVM,您需要安装 JRE。JVM的就是Java虚拟机。

在许多其他编程语言中,编译器为特定系统生成机器代码。但是,Java 编译器则称为 JVM 虚拟机生成代码。

主要区别

  • JDK是一个软件开发工具包,而JRE是一个允许Java程序运行的软件包,JVM则是一个执行字节码的环境。
  • JDK的全称是Java Development Kit,JRE的全称是Java Runtime Environment,而JVM的全称是Java Virtual Machine。
  • JDK 是平台相关的,JRE 也是平台相关的,但是 JVM 不是平台相关的。
  • JDK 包含开发、调试等工具。JRE 包含类库和其他支持文件,而软件开发工具不包含在 JVM 中。
  • JDK 附带安装程序,另一方面,JRE 仅包含执行源代码的环境,而 JVM 捆绑在软件 JDK 和 JRE 中。

为什么要使用 JDK?

以下是使用JDK的重要原因:

  • JDK 包含编写 Java 程序所需的工具,以及执行它们的 JRE。
  • 它包括编译器、Java 应用程序启动器、Appletviewer 等。
  • 编译器将用 Java 编写的代码转换为字节码。
  • Java 应用程序打开一个 JRE,加载必要的类,并执行它的 main 方法。

为什么要使用 JRE?

以下是使用 JRE 的重要原因:

  • JRE 包含类库、JVM 和其他支持文件。它不包含任何用于 Java 开发的工具,如调试器、编译器等。
  • 它使用重要的包和类,如 math、swingetc、util、lang、awt 和运行时库。
  • 如果您必须运行 Java 程序,就必须在您的系统中安装 JRE。

为什么选择JVM?

以下是使用 JVM 的重要原因:

  • JVM 提供了一种独立于平台的方式来执行 Java 源代码。
  • 它有许多库、工具和框架。
  • 一旦你运行 Java 程序,你就可以在任何平台上运行并节省大量时间。
  • JVM 带有 JIT(Just-in-Time)编译器,可将 Java 源代码转换为机器语言。因此,它比常规应用程序运行得更快。

JDK的特点

以下是 JDK的重要特性:

  • 它使您能够在单个 catch 块中处理多个扩展。
  • JDK 包含了 JRE 的所有特性。
  • 它包含开发工具,例如编译器、调试器等。
  • JDK 提供了开发和执行 Java 源代码的环境。
  • 它可以安装在 Windows、Unix 和 Mac 操作系统上。
  • 菱形运算符可用于指定泛型类型接口,而不是编写确切的类型接口。

JRE的特点

以下是 JRE 的重要特性:

  • Java 运行时环境是 JVM 实际运行所使用的一组工具。
  • JRE 包含部署技术,包括 Java Web Start 和 Java Plug-in。
  • 开发人员可以轻松地在 JRE 中运行源代码,但不能编写和编译 Java 程序。
  • 它包括集成库,如 Java 数据库连接 (JDBC)、远程方法调用 (RMI)、Java 命名和目录接口 (JNDI) 等。
  • JRE 有 JVM 和 Java HotSpot 虚拟机客户端。

JVM的特点

以下是 JVM 的重要特性:

  • 它使您能够在云环境或设备中运行应用程序。
  • Java 虚拟机将字节码转换为特定于机器的代码。
  • 它提供了基本的 Java 功能,如内存管理、安全性、垃圾收集等。
  • JVM 通过使用 Java Runtime Environment 提供的库和文件来运行程序。
  • JDK 和 JRE 都包含 Java 虚拟机。
  • 它可以逐行执行java程序,因此也称为解释器。
  • JVM 易于定制,例如,您可以为其分配最小和最大内存。
  • 它独立于硬件和操作系统。因此,您可以编写一次 java 程序并在任何地方运行。


目录
相关文章
|
3月前
|
安全 Oracle Java
JAVA高级开发必备·卓伊凡详细JDK、JRE、JVM与Java生态深度解析-形象比喻系统理解-优雅草卓伊凡
JAVA高级开发必备·卓伊凡详细JDK、JRE、JVM与Java生态深度解析-形象比喻系统理解-优雅草卓伊凡
299 0
JAVA高级开发必备·卓伊凡详细JDK、JRE、JVM与Java生态深度解析-形象比喻系统理解-优雅草卓伊凡
|
5月前
|
存储 算法 Java
JvM JDK JRE 三者区别与联系详解
本文深入解析了Java编程中的三个核心概念:JVM(Java虚拟机)、JDK(Java开发工具包)和JRE(Java运行环境)。JVM是执行Java字节码的虚拟计算机,实现“一次编译,到处运行”;JDK包含JRE及开发工具,用于编写和调试Java程序;JRE负责运行已编译的Java程序。文章详细阐述了它们的功能、组成及应用场景,并通过实例说明其在实际开发中的作用,帮助开发者理解三者联系与区别,提升开发效率与问题解决能力。适合Java初学者及进阶开发者学习参考。
877 3
|
5月前
|
监控 Oracle Java
JVM JDK JRE 使用指南及组件封装方法详解
本指南全面介绍了JVM、JDK、JRE的使用方法与Java组件封装技巧。内容涵盖JDK安装配置、JRE使用、JVM参数调优(如堆内存设置和垃圾回收器选择),以及类、包的封装实践。通过示例展示工具类与数据访问组件的封装方法,并讲解JAR包创建与发布流程。此外,还提供了常见问题解决方案,如内存溢出处理和依赖冲突管理。帮助开发者掌握高效、规范的Java开发技能,提升代码复用性和可维护性。附带面试资料供进一步学习。
264 0
|
4月前
|
存储 Ubuntu 安全
在Ubuntu 16.04上安装openjdk-6/7/8-jdk的步骤
在整个安装过程中,你可能需要管理员权限,因此你可能要使用 `sudo` 来获取必要的权限。记得做完每一个步骤后,都要检查输出,以确保没有发生错误,并且每项操作都成功完成。如果在安装过程中遇到问题,查看 `/var/log/` 下的日志文件对于问题的解决可能是有帮助的。
307 21
安装JDK18没有JRE环境的解决办法
安装JDK18没有JRE环境的解决办法
1283 141
|
4月前
|
IDE Ubuntu Java
在Ubuntu18.04安装兼容JDK 8的Eclipse集成开发环境的指南。
完成以上步骤后,您将在Ubuntu 18.04系统上成功安装并配置了Eclipse IDE,它将与JDK 8兼容,可以开始进行Java开发工作。如果遇到任何问题,请确保每一步骤都正确执行,并检查是否所有路径都与您的具体情况相匹配。
207 11
|
3月前
|
Ubuntu Java Android开发
在Ubuntu 18.04上安装与JDK 8兼容的Eclipse版本的步骤。
安装过程结束后,您就可以开始使用Eclipse来开发您的Java项目了,并且确保它与JDK 8兼容无误。这个过程涉及的是一个基本的安装流程,针对使用Java 8的用户,Eclipse的其他配置和插件安装根据个人开发环境和需求来定制。
299 0
|
6月前
|
Java 关系型数据库 MySQL
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
382 41
|
7月前
|
Oracle Java 关系型数据库
Tomcat和JDK的详细安装、下载和环境配置指南
以上就是JDK和Tomcat的下载、安装和环境配置的详细步骤。希望这个指南能帮助你顺利完成设置。
520 32
|
6月前
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
505 17