JDK、JRE、JVM 之间的关系

总结:

关系:JDK包含JRE  JRE包含JVM

36be29b68bbe4e59a90af6386420fda0.png 

JDK (Java Development Kit)----Java开发工具包,用于Java程序的开发。

JRE (Java Runtime Environment)----Java运行时环境,只能运行.class文件,不能编译。

JVM (Java Virtual Machine)----Java虚拟机,Java运行时环境。7a4c746b5b7c49fa8e5cba4ee96743c4.png

 


一、JDK

JDK (Java Development Kit),Java开发工具包,用于Java程序的开发,针对开发者。

JDK是整个Java的核心,包括了Java运行环境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。

Java API是Java的应用程序接口,里面有很多已经写好的Java Class,包括一些重要的语言结构以及基本图形,网络和文件I/O等等,我们可以直接调用使用。

二、JRE

JRE (Java Runtime Environment),Java运行时环境,只能运行.class文件,不能编译,针对用户。

JRE,包含了一个JVM(Java虚拟机),与Java核心类库与其所支持的文件。与JDK不同,它不包含开发工具—-编译器、调试器和其它工具。

将Java源程序(扩展名为.java的文件)

JRE,是运行Java程序必不可少的,编写好的Java程序必须要JRE才能运行,如果想运行一个开发好的Java程序,计算机中只需要安装JRE即可。

97e2087d4011410fbf82ee8d3b5cc3a1.png

 

三、JVM

JVM (Java Virtual Machine),Java虚拟机,Java运行时环境。

Java虚拟机,是一种虚构出来的计算机,是通过在实际的计算机上模拟仿真各种计算机功能来实现的。

JVM功能:将字节码文件(扩展名为.class的文件)解释成具体系统平台的机器指令。

JVM,是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。 

Java“一次编译到处运行”  --》JVM,通过JVM屏蔽了底层系统(windows linux Max等等)的差异来实现的。java程序运行在JVM(java虚拟机)中,而JVM运行在操作系统之上,JVM内部做了不同操作系统之间的适配,所以,操作系统之间的差异性并不会影响输出结果的一致性。

ddc6366987c242d7bd731650f478a122.png

 四、三者之间的关系

→ JDK包含JRE,JRE包含JVM。

c51acb17113346e8b139313f39bd11ec.png

  1. 有JVM就可以解释执行字节码文件(.class).
  2. JVM解释执行这些字节码文件的时候需要调用类库,如果没有这些类库JVM就不能正确的执行字节码文件,JVM+类库=JRE,
  3. 有了JRE就可以正确的执行java程序了,但是光有JRE不能开发Java程序,所以JRE+开发工具=JDK,有了JDK,就可同时开发,执行JRE.

 

 

 

  • 27
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: JDKJava Development Kit)、JREJava Runtime Environment)和JVMJava Virtual Machine)都是Java平台的重要组成部分。JDK包含JRE和一些开发工具,JRE包含JVMJava核心类库,而JVM则是Java程序的运行环境。简而言之,JDK开发Java程序的必备工具,JRE是运行Java程序的必备环境,JVM则是在JRE上运行Java程序的核心组件。 ### 回答2: JDKJava Development Kit),JREJava Runtime Environment)和JVMJava Virtual Machine)是Java开发和运行环境中不同组件之间关系JDKJava开发工具包,它提供了开发人员所需要的编译、调试、运行和部署Java程序的工具和库。JDK包含了Java编程语言的编译器(javac)、Java类库、调试工具和其他辅助工具。 JREJava运行环境,它是JDK的子集,包含了Java虚拟机(JVM)和Java类库。JRE的主要作用是用于运行Java程序,而不包括用于开发Java程序的工具和库。 JVMJava虚拟机,它是Java程序在计算机上运行的虚拟机。JVM负责加载和执行Java字节码(编译后的Java程序)并提供程序运行时所需的其他功能,如垃圾回收和内存管理。 JDKJREJVM之间关系是这样的:JDK 包含了 JRE,而 JRE 含有 JVM。也就是说,JDK 提供了开发Java程序所需的工具和库(包含 JRE),而 JRE 则提供了运行Java程序所需的环境(包含 JVM)。 总结起来就是,JDK 包含了开发和运行Java程序所需的工具、库和环境,JREJDK 的一个子集,只包含运行Java程序所需的环境,而 JVMJava程序在计算机上运行的虚拟机。 ### 回答3: JDKJava Development Kit),JREJava Runtime Environment)和JVMJava Virtual Machine)是Java编程中非常重要的概念。它们之间有着密切的关系JDKJava开发工具包,它包含了用于开发、编译和调试Java应用程序的各种工具和库。它提供了Java开发环境,包括编译器、调试器、集成开发环境(IDE)等。JDK还提供了许多标准的Java类库和API(应用程序接口),供开发人员使用。 JREJava运行时环境,它是在计算机上运行Java应用程序所必需的。它包含Java虚拟机(JVM)和许多运行时库(Runtime Libraries),用于执行Java字节码并提供各种功能和服务,如内存管理、线程管理和异常处理等。JRE只能用于运行Java程序,而不能用于开发新的Java应用程序。 而JVMJava虚拟机,它是整个Java平台的核心部分。它负责解释和执行Java字节码(由Java编译器生成的中间代码),并将其转换为对应操作系统能够理解的机器语言JVM提供了一种独立于硬件和操作系统的执行环境,使得Java程序可以在不同的平台上运行。 综上所述,JDKJava开发工具包,提供了用于开发和编译Java应用程序的工具和库;JREJava运行时环境,用于运行Java应用程序;而JVMJava虚拟机,负责解释和执行Java字节码。JDK依赖于JRE,因为它需要在JRE的基础上才能开发和编译Java程序。而JRE依赖于JVM,因为它需要JVM来执行Java字节码。因此,JDKJREJVM三者密切相关,相互配合,构成了完整的Java开发和运行环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值