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的關係