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].
在這裏插入圖片描述
我們使用下圖來直觀反映三者的關係.
在這裏插入圖片描述

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