是的,它可能會造成混淆。
你沒有要求它,但我會從這裏開始。 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。
當您下載Java(例如Java 7)時,它是否隨JVM一起提供。 –
是的,JVM是JRE的組件之一。 JDK也包含JRE。所以是的,你也會有JVM。實際上,「JVM」(如此處所述,而不是JVM規範,實際的二進制文件)是「java.exe」程序,它是您在啓動java程序時看到的DLL(或者如果您是java程序在* nix或osx下) –
非常感謝,它真的很多解釋:) –