Java-JDK,JRE和JVM的區別和聯繫

Java安裝目錄

本地成功安裝JDK之後目錄如下:
 
 

Java環境變量設置

  • JAVA_HOME: C:\Program Files\Java\jdk1.8.0_191;

  • CLASSPATH: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;

  • Path: %JAVA_HOME%\bin; %JAVA_HOME%\jre\bin

tools.jar包含Java各種高級功能的實現,是java必不可少的。

path\bin裏都是java的可執行的編譯器及其工具,如java, javadoc等。

javac依賴於JDK環境變量的設置。

JDK
 
Java Development Kit, Java開發工具包。針對開發者,主要包含jre, jvm, jdk源碼包,以及bin文件夾下用於開發、編譯運行的指令器集。
 
JRE
 
Java Runtime Environment, Java運行時環境。針對java用戶,擁有可運行的.class文件包(jar或者war)的用戶。主要包含了jvm和java運行時基本類庫(rt.jar)。
 
rt.jar:java源碼編譯成的jar包(解壓出來看一下)。用Eclipse開發時,Ctrl點擊無法跳轉到源文件,需要把rt.jar對應的源碼包加進來,源碼包正是jdk文件夾下的src.zip。
 
JVM
 
Java Virtual Machine, Java 虛擬機,是java實現跨平臺的最核心的部分。所有的java程序會首先被編譯爲.class的字節碼文件,該文件可以在虛擬機上執行。

JDK與JRE

JDK內部包含了一套JRE,與外部的JRE是一致的(外部JRE在安裝JDK時可選)。JDK內部的JRE有什麼用?因爲java,javac等命令最終是java實現的,所以執行javac等命令需要JRE。
 

JDK目錄解析

bin:  存度放編譯器和工具,最主要的是編譯器(javac.exe);
 
include: java與JVM交互作用的頭文件
 
lib: 類庫
 
jre: java運行環境
 
src.zip: 類庫源文件
 

JRE與JVM

​JVM不能單獨搞定class的執行,解釋class時JVM需要調用解釋器所需要的類庫lib。
 
JVM + Lib = JRE
 
 
jvm.dll啓動之後,調用動態鏈接庫(.dll文件)(必須位於jvm.dll所在目錄的父級目錄)。
 

JDK, JRE與JVM的關係

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