對JDK的深入理解
今天對Java的jdk有了更加深入的理解:
Java的jdk其實一共包含三部分內容:
1、工具包
2、類庫
3、JRE
jdk的全名:Java develop kit (java開發工具)
jdk包含了對Java的編譯以及運行的處理,他能對編寫的Java代碼進行編譯,編譯之后的字節碼文件,在jdk內部的虛擬機上運行,可以說它 提供了全套的Java服務,首先,我們先來說說編譯,一般的代碼都是通過編譯之后才能產生字節碼文件,以前一些低級語言,他們是直接生成機器碼,也就是我 們經常說到的0,1碼來直接運行在機器上的,這個0,1,就是過去的人用紙帶進行編寫代碼的另一種表現形式,但是這種方法有個弊端,就是不能跨平臺,高級 語言Java就解決了這個問題,他在jdk中嵌入了一個虛擬機,生成的也不再是之前的機器碼了,而是另一種叫做字節碼的東西,jdk通過在虛擬機上運行字 節碼來實現和機器碼一樣的效果,這樣就就提高了跨平臺的性質,平臺換了,只要虛擬機能識別出來就可以將代碼進行處理,使其產生相同的結果,在整個體系結構 上來說在機器上最底層的是硬件資源,再上一層就是操作系統,程序都是在操作系統上進行執行的,我們的字節碼文件可不是直接運行在操作系統上,他和操作系統 之間隔了一層虛擬機:
接下來,該說說這個運行的了,運行方面jdk提供了一個jre,在下載的時候可以單獨下載這個jre,然而,我們應該知道的是,jre其實是jdk的一部分,他是jdk的子集。
jre全稱:Java runtime environment (Java運行環境),這個提供了Java運行所需要的所有的東西,同時,jre對于將來工程的部署也起到一定的作用。
下面,我具體說一下jdk里邊三個元素分別對應安裝之后生成文件的內容:
1、對于工具包來說他有一個bin目錄,它是用來放一些工具的,比如說Java.exe,這個是用來運行Java字節碼的指令,javac.exe,這個使用來編譯Java文件的,還有一個是jar.exe,這個用來打包文件用的。
2、對于類庫來說,有一個目錄叫lib,里邊存了一些工具類的類庫,通過這些類提供的方法方便對硬件進行管理,包括文件的存取,進程之間的通信
3、對于jre來說,他提供了程序運行的環境,前文已經提到過了,這里不再贅述。