問題描述
如果您能回答這些問題或幫助我清楚一點(diǎn),將不勝感激:
If you could answer these questions or help me out a little with clarity, it will be greatly appreciated:
- 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...) 的對應(yīng)關(guān)系如何?
- Java的SDK和JDK一樣嗎?
推薦答案
是的,這可能會令人困惑.
Yes, it can be confusing.
你沒有要求,但我會從這里開始.JVM 是 Java 虛擬機(jī).它是一個程序,可以讀取已編譯的 Java 代碼(.class 文件和 .jar 文件,這些文件只是包含一堆 .class 文件打包在一起的 .zip 文件)并執(zhí)行它.JVM 有很多,例如你需要一個用于 Windows 的 JVM,一個用于 Linux,一個用于 OSX 等,但也有許多替代的 JVM,用于嵌入式設(shè)備的 JVM 等(很多人會不同意并說 JVM 只是一個,它是一個規(guī)范.但是,通常系統(tǒng)管理員會說JVM"來指示服務(wù)器上運(yùn)行的實(shí)際二進(jìn)制文件).
You didn't ask for it, but I'll start from here. The JVM is the Java Virtual Machine. It is a program that can read compiled Java code (the .class files, and the .jar files that are simply .zip files containing a bunch of .class files packaged together) and execute it. There are many JVMs, for example you need a JVM for Windows, one for Linux, one for OSX etc. but there are also many alternative JVMs, JVMs for embedded device etc. (many will disagree and say that the JVM is only one, and it's a specification. However, commonly a sysadmin will say "the JVM" to indicate the actual binary running on the server).
您也沒有要求以下內(nèi)容.JRE 是 Java 運(yùn)行時環(huán)境.它包括運(yùn)行 Java 應(yīng)用程序所需的一切,即 JVM 本身、標(biāo)準(zhǔn)庫和一堆其他文件.標(biāo)準(zhǔn)庫本身就非常重要,因為它包含了許多您在開發(fā) Java 應(yīng)用程序時會用到的有用的東西.它包含 java.* 包中的所有內(nèi)容和 com.sun、com.oracle 包中的一些私有內(nèi)容.
You didn't ask for the following either. The JRE is the Java Runtime Environment. It includes everything needed to run a Java application, that is the JVM itself, the standard library and a bunch of other files. The standard library is itself very important, because it contains a lot of useful things you'll use when developing Java applications. It contains all the stuff in java.* packages and some private stuff in com.sun, com.oracle packages.
Java 的不同版本(1.0、1.1 等一直到 1.7,也稱為 Java 7)通常都包含對 JVM 和標(biāo)準(zhǔn)庫的改進(jìn),因此兩者通常需要一起運(yùn)行,并且被打包一起在 JRE 中.
Different versions of Java (1.0, 1.1, etc. all the way to 1.7, also known as Java 7) usually contain improvements to both the JVM and the standard library, so the two usually need to run together, and are packaged together in the JRE.
如果您在計算機(jī)上運(yùn)行任何 Java 程序,則說明您已安裝 JRE.
If you are running any Java program on your computer, you have a JRE installed.
JDK 是 Java 開發(fā)工具包.它包含 JRE 以及許多其他對開發(fā) Java 應(yīng)用程序有用的東西.這顯然包括編譯器(出于某種充分的原因,它也包含在 JRE 中,但您現(xiàn)在可以忽略這個事實(shí))、用于創(chuàng)建 .jar 文件的 JAR 實(shí)用程序、許多用于反編譯"的工具.class 文件,檢查 .jar 文件,重新打包它們等.
The JDK is the Java Development Kit. It contains the JRE as well as a lot of other useful stuff for developing Java applications. That includes the compiler obviously (which is also contained in the JRE for some good reason, but you can ignore this fact now), the JAR utility to create .jar files, many tools for "decompiling" class files, inspect .jar files, repackage them, etc.
它通常還包含標(biāo)準(zhǔn)庫的文檔以及標(biāo)準(zhǔn)庫的所有源代碼,因為它們對于開發(fā)人員閱讀和檢查很有用.如果你想認(rèn)真開發(fā)Java應(yīng)用程序,你需要JDK.
It also usually contains documentation for the standard library and also all the sources of the standard library, because they are useful for developers to read and inspect. If you want to seriously develop Java applications, you need the JDK.
當(dāng)談到 JavaSE、JavaEE、JavaME 等時,這些都是所謂的版本".基本上,由于 Java 生態(tài)系統(tǒng)非常龐大,Sun 決定提供不同版本的 Java:
When talking about JavaSE, JavaEE, JavaME etc. those are so called "editions". Basically, since the Java ecosystem is huge, Sun decided to offer Java in different editions:
- JavaSE:是標(biāo)準(zhǔn)版,通常非常適合客戶端軟件、普通應(yīng)用程序等.
- JavaME:是手機(jī)版,是舊手機(jī)上的小游戲做的,但基本上是一個小"的游戲.適用于容量極低的處理器的 Java 版本.
- JavaEE:是企業(yè)版".它用于開發(fā)服務(wù)器端的東西,所以它包含了很多服務(wù)器端使用的庫.
關(guān)于編號,他們搞砸了.實(shí)際上,在 Java 1.4 之后,他們創(chuàng)建了 JCP,讓社區(qū)參與 Java 本身的開發(fā),從 Java 1.5 開始,它被正式命名為Java 5",盡管業(yè)內(nèi)大多數(shù)人都稱它為 1.5.此外,Java 1.2 是 Java 2,但我認(rèn)識的每個人當(dāng)時不是在 Sun 工作的 都稱它為 1.2.
Regarding numbering, they messed it up quite a bit. Actually, after Java 1.4 they created the JCP, to involve the community in the development of Java itself, and starting from Java 1.5 it is officially named "Java 5", despite most in the industry calling it 1.5. Also, Java 1.2 was Java 2, but everyone I know who was not working in Sun at that time always called it 1.2.
這篇關(guān)于Java JDK、SDK、SE?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!