淺談JAVA版本號(hào)的問題 Java版本號(hào)與JDk版本
初學(xué)Java時(shí)便一直疑惑Java版本號(hào)到底是如何命名的?時(shí)常在網(wǎng)上看到Java5、Java6、Java7、Java8 (到今天已經(jīng)到了Java12了,2019.4.5) 這一類 “Java X” 的Java版本名稱,同時(shí)又會(huì)看到諸如JDK1.5、JDK1.6這中 “JDK1.X” 的JDK叫法。
一直以來都在糾結(jié)Java以及JDK的規(guī)范版本名稱到底是如何,直到最近在幾本書上看到了相關(guān)的解釋才有點(diǎn)明白,
現(xiàn)總結(jié)在這里:
首先1996年發(fā)布了最初版本Java1.0(此前原型為1995年的Oak,因Oak商標(biāo)已被占用后改名為Java),此后為Java1.1、J2SE1.2、J2SE1.3、J2SE1.4、采用 1.X的命名方式,直到2004年的JavaOne會(huì)議后版本數(shù)提升為5.0,這一新版本為Java SE5.0(或J2SE5.0,此處存在疑問,網(wǎng)上使用較多為Java SE5),在2006年Sun公司終結(jié)了已經(jīng)有8年歷史的J2SE、J2EE、J2ME的命名方式啟用了今天的 Java SE、Java EE、Java ME 命名方式,而此后的版本為Java SE6、Java SE7、Java SE8、Java SE9、Java SE10、Java SE11、Java SE12。
而JDK則在 Java1.0 到 Java9 對應(yīng)每一個(gè)版本號(hào) :JDK1.0、JDK1.2 ... JDK1.8、JDK1.9,Java10以后JDK對應(yīng)名稱為:JDk10、JDK11、JDK12。
時(shí)間線如下:
Java SE版本 | JDK版本 | 發(fā)布時(shí)間 | 開發(fā)代號(hào) |
---|---|---|---|
Oak | 1995-05-23 | Oak(橡樹) | |
Java 1.0 | JDK1.0 | 1996-01-23 | |
Java 1.1 | JDK1.1 | 1997-02-18 | |
J2SE 1.2 | JDK1.2 | 1998-12-04 | Playground(運(yùn)動(dòng)場 |
J2SE 1.3 | JDK1.3 | 2000-05-08 | Kestrel(美洲紅隼) |
J2SE 1.4 | JDK1.4 | 2002-02-13 | Merlin(灰背隼) |
Java SE 5.0 | JDK1.5 | 2004-09-29 | Tiger(老虎) |
Java SE 6 | JDK1.6 | 2006-12-11 | Mustang(野馬) |
Java SE 7 | JDK1.7 | 2011-07-28 | Dolphin(海豚) |
Java SE 8 | JDK1.8 | 2014-03-18 | Spider(蜘蛛) |
Java SE 9 | JDK1.9 | 2017-09-21 | |
Java SE 10 | JDK10 | 2018-03-21 | |
Java SE 11 | JDK11 | 2018-09-25 | |
Java SE 12 | JDK12 | 2019-3-20 |
下圖來自《Java核心技術(shù)》卷1 第2章 2.1.1
你已經(jīng)看到, JDK 是 Java Development Kit 的縮寫。
有點(diǎn)混亂的是:這個(gè)工具包的版本1.2 ~ 版本 1.4 被稱為 Java SDK (軟件開發(fā)包, Software Development Kit )。 在某些場合下,還可以看到這個(gè)過時(shí)的術(shù)語。
另外, 還有一個(gè)術(shù)語是 Java 運(yùn)行時(shí)環(huán)境( JRE ), 它包含虛擬機(jī)但不包含編譯器。這并不是開發(fā)者想要的環(huán)境, 而是專門為不需要編譯器的用戶而提供。
接下來, Java SE 會(huì)大量出現(xiàn), 相對于 Java EE ( Enterprise Edition) 和 Java ME ( MicroEdition ), 它是 Java 的標(biāo)準(zhǔn)版。
Java 2 這種提法始于 1998 年。當(dāng)時(shí) Sim 公司的銷售人員感覺增加小數(shù)點(diǎn)后面的數(shù)值改變版本號(hào)并沒有反映出 JDK 1.2 的重大改進(jìn)。但是,由于在發(fā)布之后才意識(shí)到這個(gè)問題, 所以決定開發(fā)工具包的版本號(hào)仍然沿用 1.2, 接下來的版本是 1.3、 1.4 和 5.0, 但是, Java 平臺(tái)被重新命名為 Java 2。
因此, 就有了 Java 2 Standard Edition Software Development Kit ( Java 2標(biāo)準(zhǔn)版軟件開發(fā)包)的 5.0 版,即 J2SE SDK 5.0。
幸運(yùn)的是,2006 年版本號(hào)得到簡化。 Java 標(biāo)準(zhǔn)版的下一個(gè)版本取名為 Java SE 6, 后來又有了 Java SE 7 和 Java SE 8。
不過,“- 內(nèi)部” 版本號(hào)分別是 1.6.0、 1.7.0 和 1.8.0。
當(dāng) Oracle 為解決一些緊急問題做出某些微小的版本改變時(shí), 將其稱為更新。
例如: JavaSE 8u31 是 JavaSE 8 的第 31 次更新, 它的內(nèi)部版本號(hào)是 1.8.0_31。 更新不需要安裝在前一個(gè)版本上,它會(huì)包含整個(gè) JDK 的最新版本。
另外, 并不是所有更新都公開發(fā)布, 所以如果“ 更新 31” 之后沒有“ 更新 32”,你也不用驚慌。
----引自《Java核心技術(shù)》卷1 第2章 2.1.1
補(bǔ)充知識(shí):JDK 版本號(hào)對應(yīng)的數(shù)字
如下所示:
J2SE 8 = 52 (0x34 hex) J2SE 7 = 51 (0x33 hex) J2SE 6.0 = 50 (0x32 hex) J2SE 5.0 = 49 (0x31 hex) JDK 1.4 = 48 (0x30 hex) JDK 1.3 = 47 (0x2F hex) JDK 1.2 = 46 (0x2E hex) JDK 1.1 = 45 (0x2D hex)
以上這篇淺談JAVA版本號(hào)的問題 Java版本號(hào)與JDk版本就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
spring+springmvc整合mabytis時(shí)mapper注入失敗問題解決方法
這篇文章主要介紹了spring+springmvc整合mabytis時(shí)mapper注入失敗問題解決方法 ,需要的朋友可以參考下2017-08-08mybatis Invalid bound statement(not foun
這篇文章主要介紹了mybatis Invalid bound statement(not found)排坑記錄,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06SpringMVC如何把后臺(tái)文件打印到前臺(tái)
這篇文章主要介紹了SpringMVC如何把后臺(tái)文件打印到前臺(tái),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09Filter中獲取傳遞參數(shù)方式(解決post請求參數(shù)問題)
這篇文章主要介紹了Filter中獲取傳遞參數(shù)方式(解決post請求參數(shù)問題),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08聊聊SpringBoot的@Scheduled的并發(fā)問題
這篇文章主要介紹了聊聊SpringBoot的@Scheduled的并發(fā)問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11淺談Java中浮點(diǎn)型數(shù)據(jù)保留兩位小數(shù)的四種方法
今天在進(jìn)行開發(fā)的過程中遇到了一個(gè)小問題,是關(guān)于如何將double類型的數(shù)據(jù)保留兩位小數(shù)。具有一定的參考價(jià)值,本文就詳細(xì)的介紹一下2021-09-09關(guān)于通過Java連接mysql對反斜杠”\“轉(zhuǎn)義的測試詳解
這篇文章主要給大家介紹了關(guān)于通過Java連接mysql對反斜杠”\“轉(zhuǎn)義的測試的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家理解反斜杠”\“轉(zhuǎn)義具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。2017-06-06基于Java中的StringTokenizer類詳解(推薦)
下面小編就為大家?guī)硪黄贘ava中的StringTokenizer類詳解(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05