JDK,JRE和JVM的区别与联系

1.概念:

  • JDK(Java Development Kit)即Java开发工具包。是Java开发环境的核心组件,为Java程序编译,运行和调试提供所有工具,可执行文件和二进制文件,是一个平台特定的软件。JDK目录下包含六个文件夹、一个src类库源码压缩包、和其他几个声明文件。其中,真正在运行java时起作用的 是以下四个文件夹:bin、include、lib、 jre。

      bin:最主要的是编译器(javac.exe)
      include:java和JVM交互用的头文件
      lib:类库
     jre:java运行环境

  • JRE(Java Runtime Environment)即Java运行环境。包含JVM标准实现及Java核心类库。因为JRE是Java运行环境,只包含JVM(jre里有运行.class的java.exe),不包含编译器/调试器这样的开发工具。
    JRE可类比为一台计算机,Win64应用程序需要操作系统运行,同样,Java程序需要JRE才能运行。
  • JVM(Java Virtual Machine),即java虚拟机, 一个虚构出来的计算机,里面主要包含了jvm和java运行时基本类库, Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。当我们运行一个程序时,JVM负责将字节码转换为特定机器代码,JVM提供了内存管理/垃圾回收和安全机制等。这就是Java的能够“一次编译,到处运行”的原因。

2.区别 

JDK是开发环境, 为java程序提供编译,运行和调试工具,包含JRE。

JRE是运行环境,运行.class文件,包含JVM。

JVM是Java虚拟机,负责将字节码转换为特定机器代码,JVM提供了内存管理/垃圾回收和安全机制等。

Java执行过程:我们利用JDK(调用JAVA API)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用。

 3.联系

JVM+lib = JRE

JRE + (bin,lib,include...) = JDK

4.图解

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章