JVM,JRE,JDK之间的区别和联系

参考:
1.https://blog.csdn.net/qq_21808961/article/details/80647551
2. https://www.cnblogs.com/yangming1996/p/8508187.html
3. JDK文件结构: https://www.cnblogs.com/sunxucool/p/3489314.html

JVM

JVM是Java Virtual Machine(Java虚拟机)的缩写, 是JRE的一部分. JVM只能识别.class文件(字节码文件). java之所以能够实现跨平台就在于java面对不同操作系统时使用不同的虚拟机(JVM), 有 Linux 版本的JVM实现, 也有Windows 版本的JVM实现.可以看出JVM本身不具有跨平台性, 但不同平台的JVM可以将同一个.class文件解释并映射为本地CPU的机器指令或操作系统的系统调用, 以实现跨平台. 换句话说, JVM其实就是为了完成字节码文件和本地的机器指令之间的映射.

JRE

Java Runtime Environment(JRE)是运行JAVA程序所必须的环境的集合, 它主要包含两个部分, JVM 的标准实现和 Java 的一些基本类库. 简言之, JRE = JVM + 基本lib .在Java平台下, 所有的Java程序都需要在JRE下才能运行, 它是针对java用户的. 当我们只需要运行Java程序的时候, 在电脑上安装JRE即可. 与JDK不同, 它不包含开发工具–编译器, 调试器和其它工具, 而这些只在JDK中才有.

JDK

JDK(Java Development Kit)是整个Java的核心, 包括了Java运行环境JRE, Java工具(javac,java,jdb)和Java基础类库(即Java API). 它是用来开发Java程序的, 如果要进行java程序开发,就必须安装JDK, 它是针对java开发者的. 即JDK = JRE +开发工具. 下面简要介绍一下JDk的文件目录结构. bin:JDK包含的一些开发工具执行文件, 如编译命令javac.exe. lib: Java开发工具要用的一些库文件. jre:JDK使用的Java运行环境(JRE)的根目录, 这个运行环境实现了Java平台.下图是JDK详细的目录结构, 更多信息可以参考[3].
在这里插入图片描述
我们使用下图来直观反映三者的关系.
在这里插入图片描述

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