Java開發環境——JDK/JRE/JVM
1.JDK/JRE/JVM概述
1.1JDK
JDK(Java標準開發包)的全稱是Java SE Development Kit,是Sun提供的一套用於開發Java應用程式的開發包,它提供編譯、執行Java程式所需的各種工具和資源,包含了JAVA的執行環境(JVM+Java系統類庫)和JAVA工具。
JDK基本元件包括:
- javac – 編譯器,將源程式轉成位元組碼
- jar – 打包工具,將相關的類檔案打包成一個檔案
- javadoc – 文件生成器,從原始碼註釋中提取文件
- jdb – debugger,查錯工具
- java – 執行編譯後的java程式(.class字尾的)
- appletviewer:小程式瀏覽器,一種執行HTML檔案上的Java小程式的Java瀏覽器。
- Javah:產生可以呼叫Java過程的C過程,或建立能被Java程式呼叫的C過程的標頭檔案。
- Javap:Java反彙編器,顯示編譯類檔案中的可訪問功能和資料,同時顯示位元組程式碼含義。
- Jconsole: Java進行系統除錯和監控的工具
1.2JRE
JRE(Java執行時環境)為Java Runtime Environment的簡稱,Java Runtime Environment(包括Java Plug-in)是Sun的產品,包括兩部分:Java Runtime Environment和Java Plug-in。JavaRuntimeEnvironment(JRE)是可以在其上執行、測試和傳輸應用程式的Java平臺。它包括Java虛擬機器(jvm)、Java核心類庫和支援檔案。它不包含開發工具(JDK)–編譯器、偵錯程式和其它工具。JRE需要輔助軟體–Java Plug-in–以便在瀏覽器中執行applet。
1.3JVM
JVM(Java虛擬機器)是Java Virtual Machine的縮寫,JVM是一種用於計算裝置的規範,它是一個虛構出來的計算機,是通過在實際的計算機上模擬模擬各種計算機功能來實現的。
Java語言的一個非常重要的特點就是與平臺的無關性。而使用Java虛擬機器是實現這一特點的關鍵。一般的高階語言如果要在不同的平臺上執行,至少需要編譯成不同的目的碼。而引入Java語言虛擬機器後,Java語言在不同平臺上執行時不需要重新編譯。Java語言使用Java虛擬機器遮蔽了與具體平臺相關的資訊,使得Java語言編譯程式只需生成在Java虛擬機器上執行的目的碼(位元組碼),就可以在多種平臺上不加修改地執行。Java虛擬機器在執行位元組碼時,把位元組碼解釋成具體平臺上的機器指令執行。這就是Java的能夠“write once, run anywhere.”的原因。
JVM原理此處略
2.小結JDK/JRE/JVM關係
簡單地說,JDK包含JRE,而JRE包含JVM。
一般而言,如果只執行Java程式,可以只安裝JRE,無須安裝JDK。