天天看點

Java基礎知識——SDK、JDK、JRE、JVM、JDT、CDT等之間的差別與聯系

相信大多數java初學者被這些概念搞蒙過,它們之間到底有什麼差別,又有什麼聯系呢?下面我将一一解開大家心中的謎團。首先給大家解釋一下這些概念:

1 sdk(software developkit,軟體開發工具包)

用于幫助開發人員的提高工作效率。各種不同類型的軟體開發,都可以有自己的sdk。windows有windowssdk,directx 有 directx 9sdk,.net開發也有microsoft.net frameworksdk。java開發也不含糊,也有自己的java sdk。

2 jdk

java sdk最早叫javasoftware develop kit,後來改名為jdk,即java developkit。jdk作為java開發工具包,主要用于建構在java平台上運作的應用程式、applet 群組件等。

3 jre(java runtimeenvironment,java運作環境)

也就是java平台。所有的java程式都要在jre下才能運作。

4 jvm(java virtualmachine,java虛拟機)

是jre的一部分。它是一個虛構出來的計算機,是通過在實際的計算機上仿真模拟各種計算機功能來實作的。jvm有自己完善的硬體架構,如處理器、堆棧、寄存器等,還具有相應的指令系統。java語言最重要的特點就是跨平台運作。使用jvm就是為了支援與作業系統無關,實作跨平台。

接下來看一些問答

問題一

jdk是用java編寫的,而所有的java程式都要有jvm才能運作,但我們并沒有安裝jvm為什麼它卻可以運作?

jdk的工具是java程式,也需要jre才能運作。為保持jdk的獨立性和完整性,在jdk的安裝過程中,jre也是安裝的一部分。是以在jdk的安裝目錄下有一個名為jre的目錄,用于存放jre檔案。而java虛拟機jvm是屬于jre的,是以我們的jdk可以運作。

随着我們學習的深入,我們很快接觸了eclipse。

問題二:eclipse是幹什麼的?

eclipse是一個開放源代碼的、基于java的可擴充開發平台。就其本身而言,它隻是一個架構和一組服務,用于通過插件元件建構開發環境。eclipse classic

是eclipse的标準版,也就是eclipse sdk。

問題三:eclipse ide

和eclipse sdk有什麼差別?

eclipse的标準版叫eclipse sdk,而安裝了一些插件(例如:c/c++開發的插件cdt)之後,就變成了eclipse ide(integrated developmentenvironment,內建開發環境)。

問題四:安裝了eclipse,必須安裝jdk才能運作嗎?

不是,eclipse 标準版中包含jre,是以它可以運作。

問題五:既然安裝eclipse不是必須安裝jdk,那麼為什麼要安裝jdk?

java的執行過程是先把java編譯成class位元組碼,然後由虛拟機解釋執行!而将java編譯成class檔案,必須用到jdk。是以如果你要從事java開發,就必須要安裝jdk(當然,jdk不僅僅有這一個功能)。

eclipse功能很強大,不僅可以開發java程式。如果想用eclipse開發c程式,該怎麼辦呢?(具體搭建過程:windows 7安裝eclipse 3.7搭建c/c++開發環境)。

首先必須安裝能将c檔案編譯成exe可執行檔案的軟體——mingw。

問題六:為什麼想開發c程式,我們必須安裝mingw等編譯軟體?

其實,這個同開發java的道理一樣,我們要想開發java程式,必須安裝能将java編譯成class檔案的jdk,那麼開發c程式呢,我們必須也安裝一個類似這樣的軟體,不同的是,mingw等是将c檔案編譯成exe檔案。

問題七:有了mingw,是不是就可以用eclipse開發c程式了?

不是,安裝了mingw,隻能說明你的電腦可以編譯c檔案,但是這跟我eclipse有什麼關系呢?是以,要想開發c程式,必須在eclipse中安裝相應的插件——cdt(c/c++development tooling)。

問題八:為什麼用eclipse開發c程式需要安裝cdt,而開發java程式卻不需要安裝什麼插件呢?

其實用eclipse開發java程式,也是需要插件的,它就是——jdt。那為什麼我們沒有安裝就可以開發java程式了呢?原來,安裝eclipse标準版時,預設就安裝了jdt插件,是以不需要我們自己安裝就能使用。