2012-06-01 75 views
37

我將要學習java 7,也做了一些研究,但似乎沒有明確回答這些問題,如果你能回答這些問題或幫助我一點也將不勝感激:Java JDK,SDK,SE?


  • Java 7是Java SE 7嗎?而Java 6是Java SE 6?
  • 是Java SE 7還是Java JDK 7?還有什麼是JDK?
  • 這是否意味着java JDK與java編號(Java SE 7)相同?
  • 什麼是java 1.5和1.6?以及它如何對應於Java編號(Java SE ...)?
  • Java的SDK與JDK相同嗎?

如果我有這個錯誤請告訴我。 謝謝,傑克

回答

64

是的,它可能會造成混淆。

你沒有要求它,但我會從這裏開始。 JVM是Java虛擬機。它是一個可以讀取已編譯的Java代碼(.class文件和.jar文件,它們只是包含一堆打包在一起的.class文件的.zip文件)並執行它的程序。有很多JVM,例如你需要一個用於Windows的JVM,一個用於Linux,一個用於OSX等等,但是也有很多可選的JVM,用於嵌入式設備的JVM等等(很多人會不同意並且說JVM只有一個,這是一個規範,但是,通常系統管理員會說「JVM」來表示在服務器上運行的實際二進制文件)。

您也沒有要求下列要求。 JRE是Java運行時環境。它包含了一切需要的運行一個Java應用程序,也就是JVM本身,標準庫和一堆其他文件。標準庫本身非常重要,因爲它包含了開發Java應用程序時將使用的許多有用的東西。它包含java。*包中的所有內容以及com.sun,com.oracle包中的一些私有內容。

不同版本的Java(1.0,1.1等一直到1.7,也稱爲Java 7)通常包含對JVM和標準庫的改進,因此這兩者通常需要一起運行,並且一起打包在JRE中。

如果您正在運行計算機上的任何Java程序,您必須安裝了JRE。

JDK是Java開發工具包。它包含JRE以及許多其他有用的東西,用於開發 Java應用程序。這包括編譯器明顯(這也包含在JRE一些很好的理由,但你現在可以忽略這個事實),JAR實用工具創建的.jar文件,「反編譯」類文件很多工具,檢查.jar文件,重新包裝等

它通常也包含了標準庫文件,也是標準庫的所有來源,因爲它們是有用的開發人員閱讀和檢查。如果你想認真開發Java應用程序,你需要JDK。

談到的JavaSE,JavaEE的,等的JavaME是那些所謂的 「版本」。基本上,因爲Java生態系統是巨大的,太陽決定提供的Java在不同的版本:

  • JavaSE的:是標準版,它通常是一個非常適合的客戶端軟件,正常應用程序等
  • JavaME:是移動版本,它是舊手機上的小遊戲,但它基本上是適用於超低容量處理器的Java「小」版本。
  • 的JavaEE:是 「企業版」。它用於開發服務器端的東西,所以它包含了很多服務器端使用的庫。

關於編號,他們搞砸了不少。實際上,在Java 1.4之後,他們創建了JCP,讓社區參與到Java本身的開發中,從Java 1.5開始,它被正式命名爲「Java 5」,儘管業內大多數人稱它爲1.5。另外,Java 1.2是Java 2,但我認識的每個人都不是working in Sun at that time always called it 1.2

+0

當您下載Java(例如Java 7)時,它是否隨JVM一起提供。 –

+0

是的,JVM是JRE的組件之一。 JDK也包含JRE。所以是的,你也會有JVM。實際上,「JVM」(如此處所述,而不是JVM規範,實際的二進制文件)是「java.exe」程序,它是您在啓動java程序時看到的DLL(或者如果您是java程序在* nix或osx下) –

+1

非常感謝,它真的很多解釋:) –

2

答案1:SE代表標準版。大多數情況下,現在每個JRE都使用Standard Edition,因此您可以將Java 7和Java SE 7作爲同一件事。

答案2:JDK代表Java Development Toolkit。 Java SE是技術,而JDK是用於在該技術中開發的一組工具。

答案3:技術上是的。實際上,除了「Java 6」,「JDK 1.7」以及「Java 7」等,您最有可能會看到「JDK 1.6」。

答案4:和3一樣,我想。

回答5:Java的軟件開發工具包等於Java的開發工具包,所以是的。

此圖可能會有幫助:

http://www.oracle.com/technetwork/java/javase/tech/index.html

+0

的Java SE代表標準版(而不是EE版或企業版),而不是第二版。 – bobmcn

+0

我已將它放在編輯上,但感謝您的注意。 –

1

SE =標準版,標準版的Java,通常命名不僅僅是Java X.另一個版本是EE,更加面向組件。

JDK = java開發工具包,這是用於開發java應用程序的sdk的一個子集,是一個框架。

版本號爲1.7的名稱爲java 7.您可以同時獲得此版本的SE版本或SDK。

反正你可以在維基百科找到整個信息

10

是Java 7中只是Java SE 7中?而Java 6是Java SE 6?

是的。

有幾個Java版本,分別是Java SE,「標準版」,Java EE,「企業版」和Java ME,「微版」。

「Java N」其中N是某個數字是指SE。現在Java EE的版本號分別爲6版。 Java ME也有它自己的版本 - 目前它的版本爲3. Java ME適用於移動設備和小型設備。

的Java EE是一組建立在Java SE的頂部庫和接口,如EJB,JMS,JNDI,Servlet/JSP的。

是Java SE 7中也的Java JDK 7?還有什麼是JDK?

JDK = Java開發工具包。當您下載Java時,您可以獲得JRE(Java運行時環境),它只允許您運行已編譯的Java應用程序,或者您可以獲得允許編譯和運行Java應用程序的JDK。 Java SE 7引用了JDK和JRE。

這是否意味着java JDK與java編號(Java SE 7)相同?

是的。

什麼是Java 1.5和1.6?以及它如何對應於Java編號(Java SE ...)?

Sun的Java編號在中途改變了,有點令人困惑。他們從1.0到1.1,然後是1.2。然後他們決定調用1.2「Java 2」,該標籤一直持續到Java 1.4。然後,Java 5被稱爲1.5和5.0,並繼續 - Java 7也是Java 1.7,Java 6也是Java 1.6等。

Java的SDK與JDK相同嗎?

是的。

+1

名稱Java2應用於從版本1.2到Java 1.4.2的每個Java發行版。 –

+0

@Mark - 好點。我已經更新了一些答案,以便澄清。 – quux00