JDK JRE JVM 的区别和联系

Posted lixianpeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDK JRE JVM 的区别和联系相关的知识,希望对你有一定的参考价值。

1、JDK -- java development kit

  JDK是java开发工具包,基本上每个学java的人都会先在机器安装JDK ,在JDK目录下面有 六个文件夹、一个src类库源码压缩包、和其他几个声明文件。其中,真正在运行java时起作用的 是以下四个文件夹:bin、include、lib、 jre。
bin:最主要的是编译器(javac.exe)
include:java和JVM交互用的头文件
lib:类库
jre:java运行环境

JDK有以下三个版本

  SE(J2SE),standard edition,标准版,是我们通常用的一个版本,从JDK 5.0开始,改名为Java SE。
  EE(J2EE),enterprise edition,企业版,使用这种JDK开发J2EE应用程序,从JDK 5.0开始,改名为Java EE。
  ME(J2ME),micro edition,主要用于移动设备、嵌入式设备上的java应用程序,从JDK 5.0开始,改名为Java ME。

2、JRE -- java runtime environment

  JRE是指java运行环境。 在JDK的安装目 录里你可以找到jre目录,里面有两个文件夹bin和lib,lib中则是jvm工 作所需要的类库,而jvm和 lib和起来就称为jre。所以,在你写完java程序编译成.class之后, JRE 是运行 Java 程序必不可少的(如果只是运行一个编译好的程序是不需要JDK的)。

3、JVM -- java virtual machine

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

4、区别和联系

  JDK包含JRE,而JRE包 含JVM

    jdk开发中用

              jre运行时用

              jvm解决了跨平台:把class文件编译成别的平台认可的文件

  技术分享图片

 








以上是关于JDK JRE JVM 的区别和联系的主要内容,如果未能解决你的问题,请参考以下文章

JDK JRE JVM 的区别和联系

JDK,JRE,JVM区别与联系

jdk和jre的区别与联系

JVM JRE JDK三者的区别和联系

Java 中的 JDK,JRE 和 JVM 有什么区别和联系?

Java JDKJREJVM的区别与联系