1、1990年末,Sun公司準(zhǔn)備為下一代智能家電(電視機(jī),微波爐,電話(huà))編寫(xiě)一個(gè)通用的控制系統(tǒng)。該團(tuán)隊(duì)最初考慮使用c++語(yǔ)言,很多成員包括sun的首席科學(xué)家Bill Joy,發(fā)現(xiàn)c++語(yǔ)言在某些方面復(fù)雜,系統(tǒng)資源極其有限,缺少垃圾回收系統(tǒng)等,于是Bill Joy決定開(kāi)發(fā)一種新的語(yǔ)言:Oak。
2、1992年夏天,Green計(jì)劃已經(jīng)完成新平臺(tái)的部分功能,包括Green操作系統(tǒng),Oak的程序設(shè)計(jì)語(yǔ)言、類(lèi)庫(kù)等。同年11月,Green計(jì)劃被轉(zhuǎn)成“FirstPerson有限公司”,一個(gè)Sun公司的全資子公司。該團(tuán)隊(duì)致力于創(chuàng)建一種高度互動(dòng)的設(shè)備。
3、1994年夏天,互聯(lián)網(wǎng)和瀏覽器的出現(xiàn)不僅給廣大互聯(lián)網(wǎng)的用戶(hù)帶來(lái)了福音,也給Oak語(yǔ)言帶來(lái)了新的生機(jī)。James Gosling(Java之父)立即意識(shí)到,這是一個(gè)機(jī)會(huì),于是對(duì)Oak進(jìn)行了小規(guī)模的改造。
4、1994年秋,小組中的Naughton和Jonathan payne 完成了第一個(gè)Java語(yǔ)言的網(wǎng)頁(yè)瀏覽器:WebRunner。Sun公司實(shí)驗(yàn)室主任Bert Sutherland 和技術(shù)總監(jiān)Eric Schmidt觀看了該網(wǎng)頁(yè)的演示并給予了高度的評(píng)價(jià)。當(dāng)時(shí)Oak這個(gè)商標(biāo)已經(jīng)被注冊(cè)了,于是將Oak改名為Java。
5、1995年初,Sun公司發(fā)布Java語(yǔ)言,Sun公司直接把Java放到互聯(lián)網(wǎng)上,免費(fèi)給大家使用,甚至連源代碼也不保密,也放在互聯(lián)網(wǎng)公開(kāi)。幾個(gè)月后,Java成了互聯(lián)網(wǎng)上最熱門(mén)的寶貝。各種各樣的小程序?qū)映霾桓F,Java終于揚(yáng)眉吐氣,成為了一種廣為人知的編程語(yǔ)言。
6、1996年底,F(xiàn)lash問(wèn)世了,這是一種更加簡(jiǎn)單的動(dòng)畫(huà)設(shè)計(jì)軟件:使用Flash幾乎無(wú)須任何編程語(yǔ)言知識(shí),就可以做出豐富多彩的動(dòng)畫(huà)。Flash逐漸蠶食了Java在網(wǎng)頁(yè)上的應(yīng)用。
7、1997年2月18日,Sun公司發(fā)布了JDK1.1,增加了即時(shí)編譯器JIT。
8、1995年Java誕生到1998年底,Java語(yǔ)言雖然成為了互聯(lián)網(wǎng)上廣泛使用的編程語(yǔ)言,但它沒(méi)有找到一個(gè)準(zhǔn)確的定位。
9、1998年12月,Sun發(fā)布了Java歷史上最重要的JDK版本:JDK1.2。并將Java分成了J2EE(提供了企業(yè)應(yīng)用開(kāi)發(fā)相關(guān)的完整解決方案)、J2SE(整個(gè)Java技術(shù)的核心和基礎(chǔ))、J2ME(主要用于控制移動(dòng)設(shè)備和信息家電等有限存儲(chǔ)的設(shè)備)三個(gè)版本。
10、2002年2月,Sun發(fā)布了JDK歷史上最為成熟的版本,JDK1.4。
11、2004年10月,Sun發(fā)布了萬(wàn)眾期待的JDK1.5。JDK1.5增加了諸如泛型、增強(qiáng)的for語(yǔ)句、可變數(shù)量的形參、注釋、自動(dòng)拆箱和裝箱等。
12、2005年,Java誕生十周年,J2SE/J2EE/J2ME分別改名為:JavaSE/JavaEE/JavaME。
13、2006年12月,Sun發(fā)布了JDK1.6。
14、2009年4月20日,Oracle甲骨文公司宣布將以每股9.5美元的價(jià)格收購(gòu)Sun。Oracle通過(guò)收購(gòu)Sun獲得了兩項(xiàng)資產(chǎn):Java和Solaris。
15、2007年11月,Google宣布推出一款基于Linux平臺(tái)的開(kāi)源手機(jī)操作系統(tǒng):Android。Android使用Java語(yǔ)言來(lái)開(kāi)發(fā)應(yīng)用程序。Android平臺(tái)的流行,讓Java語(yǔ)言獲得了在客戶(hù)端程序上大展拳腳的機(jī)會(huì)。
16、2011年7月28日,Oracle發(fā)布了Java SE7,這次版本升級(jí)耗時(shí)將近5年時(shí)間。引入二進(jìn)制整數(shù)、支持字符串的switch語(yǔ)句等。
17、2014年3月18日,Oracle發(fā)布了Java SE 8。
18、2017年7月,Oracle發(fā)布了JavaSE 9。
19、2018年3月20日,Oracle發(fā)布了正式版JavaSE 10。
圖1-2:JavaSE、JavaEE、JavaME三者關(guān)系