JDK、JRE、JVM的特点和关联

简介: JDK、JRE、JVM的特点和关联

Java 的三个重要的概念是 JDK(Java Development Kit)、JRE(Java Runtime Environment)和 JVM(Java Virtual Machine)。它们之间有着密切的关联,同时又有不同的职责和特点。

  1. JDK(Java Development Kit):
  • 特点: JDK 是 Java 开发工具包,提供了 Java 开发所需的工具和库。它包括了 Java 编译器(javac)、调试器(jdb)、Java 文档生成器(javadoc)等开发工具,以及 Java 标准库和其他一些工具。
  • 关联: JDK 包含了 JRE,因此可以说 JDK 包括了 JRE。在开发 Java 应用程序时,需要安装 JDK。
  1. JRE(Java Runtime Environment):
  • 特点: JRE 是 Java 运行时环境,提供了运行 Java 应用程序所需的环境和库。它包括了 Java 虚拟机(JVM)、Java 核心类库(Java API,用于支持基本的 Java 编程)以及其他一些运行时所需的类和资源。
  • 关联: JRE 是 Java 应用程序运行的基本环境。如果只需要运行 Java 程序而不进行开发,可以安装 JRE。
  1. JVM(Java Virtual Machine):
  • 特点: JVM 是 Java 虚拟机,是 Java 程序运行的环境。它负责将 Java 源代码编译为字节码,然后在特定平台上执行这些字节码。JVM 提供了内存管理、垃圾回收、线程管理等功能,以确保 Java 程序的可移植性和性能。
  • 关联: JVM 是 JRE 的一部分。JRE 包含了 JVM 和其他运行时所需的库。当你运行一个 Java 程序时,实际上是在 JVM 上运行这个程序。

关系图示例:

关系总结:

  • JDK 包含 JRE。
  • JRE 包含 JVM。
  • JDK 包含编译器、调试器等开发工具,而 JRE 只包含运行 Java 应用程序所需的环境。

在实际开发中,如果你只是要运行 Java 程序,那么安装 JRE 就足够了。但如果你需要进行 Java 开发,包括编写和编译代码,那么你需要安装 JDK。 JRE 和 JVM 的目标是提供一个可移植、独立于平台的 Java 运行环境。 JRE 通过包含 JVM 和核心类库实现了这个目标。

相关文章
|
12天前
|
Java 开发框架 XML
JDK、JRE、Java SE、Java EE和Java ME有什么区别?
JDK、JRE、Java SE、Java EE和Java ME有什么区别?
|
12天前
|
Java 编译器 对象存储
java一分钟之Java入门:认识JDK与JVM
【5月更文挑战第7天】本文介绍了Java编程的基础——JDK和JVM。JDK是包含编译器、运行时环境、类库等的开发工具包,而JVM是Java平台的核心,负责执行字节码并实现跨平台运行。常见问题包括版本不匹配、环境变量配置错误、内存溢出和线程死锁。解决办法包括选择合适JDK版本、正确配置环境变量、调整JVM内存参数和避免线程死锁。通过代码示例展示了JVM内存管理和基本Java程序结构,帮助初学者更好地理解JDK和JVM在Java编程中的作用。
26 0
|
12天前
|
Java
jdk17没有jre处理
jdk17没有jre处理
|
12天前
|
小程序 Java 程序员
【Java探索之旅】我与Java的初相识(二):程序结构与运行关系和JDK,JRE,JVM的关系
【Java探索之旅】我与Java的初相识(二):程序结构与运行关系和JDK,JRE,JVM的关系
30 0
|
12天前
|
存储 监控 Oracle
简单介绍JDK、JRE、JVM三者区别
1995年Sun公司在SunWorld大会上发布了Java1.0版本,并提出可那个响彻云霄的“一次运行,随处编译”的口号,这句话充分的展示出了Java的跨平台特性,提到跨平台,便衍生出了我们今天需要讨论的话题,JDK、JRE、JVM三者的区别
21 2
|
12天前
|
监控 前端开发 安全
JVM工作原理与实战(十四):JDK9及之后的类加载器
JVM作为Java程序的运行环境,其负责解释和执行字节码,管理内存,确保安全,支持多线程和提供性能监控工具,以及确保程序的跨平台运行。本文主要介绍了JDK8及之前的类加载器、JDK9及之后的类加载器等内容。
28 2
|
12天前
|
Java 应用服务中间件 Linux
Caused by: java.lang.UnsatisfiedLinkError: /root/jdk1.7.0_45/jre/lib/amd64/xawt/libmawt.so: libXrend
Caused by: java.lang.UnsatisfiedLinkError: /root/jdk1.7.0_45/jre/lib/amd64/xawt/libmawt.so: libXrend
|
7天前
|
Java 应用服务中间件 Linux
Centos7 安装JDK和Tomcat
Centos7 安装JDK和Tomcat
30 0
|
12天前
|
IDE Java Shell
02|手把手教你安装JDK与配置主流IDE
02|手把手教你安装JDK与配置主流IDE
33 0
|
12天前
|
Java Shell 开发者
都2024年了!你还不知道在Docker中安装jdk?
都2024年了!你还不知道在Docker中安装jdk?