JAVA发展历程
?Java是一門面向?qū)ο蟮木幊陶Z言,不僅吸收了C++語言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強(qiáng)大和簡單易用兩個(gè)特征。Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,極好地實(shí)現(xiàn)了面向?qū)ο罄碚?#xff0c;允許程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程?。
Java具有簡單性、面向?qū)ο蟆⒎植际?、健壯性、安全性、平臺(tái)獨(dú)立與可移植性、多線程、動(dòng)態(tài)性等特點(diǎn)?。Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等?。
Java之父——James Gosling
詹姆斯·高斯林 (James Gosling)是一名軟件專家,1955年5月19日出生于加拿大,Java編程語言的共同創(chuàng)始人之一,一般公認(rèn)他為“Java之父”。
1977年獲得了加拿大卡爾加里大學(xué)計(jì)算機(jī)科學(xué)學(xué)士學(xué)位,1983年獲得了美國卡內(nèi)基梅隆大學(xué)計(jì)算機(jī)科學(xué)博士學(xué)位。
?JAVA發(fā)展歷程
Java 的歷史要追溯到 1991 年, 由 Sun 公司帶領(lǐng)的開發(fā)小組, 想設(shè)計(jì)一種小型的計(jì)算機(jī)語言,主要用于有線電視轉(zhuǎn)換盒這類的消費(fèi)設(shè)備。 由于這類設(shè)備的處理能力和內(nèi)存都非常有限,所以語言就必須設(shè)計(jì)的非常小且能夠生成緊湊的代碼。 另外,由于不同的廠商會(huì)選擇不同的 CPU, 因此很重要的一點(diǎn)就是這種語言不應(yīng)該與任何特定的體系結(jié)構(gòu)綁定。這個(gè)項(xiàng)目被命名為 “Green”。
Sun 公司的人都有 Unix 的應(yīng)用背景, 所以開發(fā)的語言用了 C++ 為基礎(chǔ)。并把這種語言稱為 “Oak”, 后來, Sun 公司的人后來發(fā)現(xiàn), Oak 是一種已經(jīng)有的計(jì)算機(jī)語言的名字, 于是, 將其改名為 “Java”。
1995年5月23日,Java語言誕生
1996年1月,第一個(gè)JDK-JDK1.0誕生1996年4月,10個(gè)最主要的操作系統(tǒng)供應(yīng)商申明將在其產(chǎn)品中嵌入JAVA技術(shù)1996年9月,約8.3萬個(gè)網(wǎng)頁應(yīng)用了JAVA技術(shù)來制作
JDK 1.0 開發(fā)代號(hào)為 Oak ( 橡樹 )。
1997年2月18日,JDK1.1發(fā)布
JDK 1.1 引入的新特性包括:
-
引入JDBC(Java Database Connectivity);
-
支持內(nèi)部類;
-
引入Java Bean;
-
引入RMI(Remote Method Invocation);
-
引入反射(僅用于內(nèi)省)。
1997年4月2日,JavaOne會(huì)議召開,參與者逾一萬人,創(chuàng)當(dāng)時(shí)全球同類會(huì)議規(guī)模之紀(jì)錄1997年9月,JavaDeveloperConnection社區(qū)成員超過十萬1998年2月,JDK1.1被下載超過2,000,000次
1998年12月8日,JAVA2企業(yè)平臺(tái)J2EE發(fā)布
1999年6月,SUN公司發(fā)布Java的三個(gè)版本:標(biāo)準(zhǔn)版(J2SE)、企業(yè)版(J2EE)和微型版(J2ME)
2000年5月8日,JDK1.3發(fā)布
2000年5月29日,JDK1.4發(fā)布
2001年6月5日,NOKIA宣布,到2003年將出售1億部支持Java的手機(jī)
2001年9月24日,J2EE1.3發(fā)布
JDK 1.3 開發(fā)代號(hào)為Kestrel(紅隼)
-
引入的新特性包括:
-
引入Java Sound API;
-
jar文件索引;
-
對(duì)Java的各個(gè)方面都做了大量優(yōu)化和增強(qiáng)。
2002年2月26日,J2SE1.4發(fā)布,自此Java的計(jì)算能力有了大幅提升
JDK 1.4 開發(fā)代號(hào)為Merlin(隼)
-
引入的新特性包括:
-
XML處理;
-
Java打印服務(wù);
-
引入Logging API;
-
引入Java Web Start;
-
引入JDBC 3.0 API;
-
引入斷言;
-
引入Preferences API;
-
引入鏈?zhǔn)疆惓L幚?#xff1b;
-
支持IPv6;
-
支持正則表達(dá)式;
-
引入Image I/O slot machine API。
2004年9月30日18:00PM,J2SE1.5發(fā)布,成為Java語言發(fā)展史上的又一里程碑。為了表示該版本的重要性,J2SE1.5更名為Java SE 5.0
JDK 1.5 開發(fā)代號(hào)為Tiger(老虎)
-
引入的新特性包括:
-
引入泛型;
-
增強(qiáng)循環(huán),可以使用迭代方式;
-
自動(dòng)裝箱與自動(dòng)拆箱;
-
類型安全的枚舉;
-
可變參數(shù);
-
靜態(tài)引入;
-
元數(shù)據(jù)(注解);
-
引入Instrumentation。
2005年6月,JavaOne大會(huì)召開,SUN公司公開Java SE 6。此時(shí),Java的各種版本已經(jīng)更名,以取消其中的數(shù)字“2”:J2EE更名為Java EE,J2SE更名為Java SE,J2ME更名為Java ME
2006年12月,SUN公司發(fā)布JRE6.0
JDK 1.6 開發(fā)代號(hào)為Mustang(野馬)
-
引入的新特性包括:
-
支持腳本語言;
-
引入JDBC 4.0 API;
-
引入Java Compiler API;
-
可插拔注解;
-
增加對(duì)Native PKI(Public Key Infrastructure)、Java GSS(Generic Security Service)、Kerberos和LDAP(Lightweight Directory Access Protocol)的支持;
-
繼承Web Services;
-
做了很多優(yōu)化。
2009年12月,SUN公司發(fā)布Java EE 6
2010年11月,由于Oracle公司對(duì)于Java社區(qū)的不友善,因此Apache揚(yáng)言將退出JCP
2011年7月28日,Oracle公司發(fā)布Java SE 7
JDK 1.7 開發(fā)代號(hào)是Dolphin(海豚)
-
引入的新特性包括:
-
switch語句塊中允許以字符串作為分支條件;
-
在創(chuàng)建泛型對(duì)象時(shí)應(yīng)用類型推斷;
-
在一個(gè)語句塊中捕獲多種異常;
-
支持動(dòng)態(tài)語言;
-
支持try-with-resources;
-
引入Java NIO.2開發(fā)包;
-
數(shù)值類型可以用2進(jìn)制字符串表示,并且可以在字符串表示中添加下劃線;
-
鉆石型語法;
-
null值的自動(dòng)處理。
2014年3月18日,Oracle公司發(fā)表Java SE 8
JDK 1.8 開發(fā)代號(hào)是Spider(蜘蛛)
-
支持 lambda支持;
-
增強(qiáng)日期與時(shí)間API的功能;
-
對(duì)垃圾回收的性能也進(jìn)行了改進(jìn);
-
并且移除了permgen區(qū)。
-
Lambdas表達(dá)式與Functional接口
-
接口的默認(rèn)與靜態(tài)方法
-
方法引用
-
重復(fù)注解
-
更好的類型推測機(jī)制
-
擴(kuò)展注解的支持
2017年7月,Oracle 公司將發(fā)布 JDK 9。這個(gè)版本算是比較大的調(diào)整,加入了很早之前就規(guī)劃的模塊化功能。并且對(duì)整個(gè) JDK 基于模塊進(jìn)行了重新編寫。Java 9 提供了輕量級(jí) JSON API; 使用 G1 作為默認(rèn)的垃圾收集器,替代了之前默認(rèn)使用的 Paralel GC; 引入了 jShell 這個(gè)交互性工具。并且全面支持 HTTP 2.0。
也就是在這一年,2017 年 8 月,Oracle 決定將 Java EE 移交給開源組織,最后 Eclipse 基金會(huì)接手。
由于甲骨文不允許開源組織用 Java 的名號(hào),于是 Eclipse 選出了 "Jakarta EE" 和 "Enterprise Profile" 兩個(gè)后續(xù)名字,最終前者以 64.4% 的票數(shù)獲勝。
也就是說,Java EE 已經(jīng)正式更名為 Jakarta EE(雅加達(dá))。
Oracle公司發(fā)表Java SE 9
2018年,從 2018 年開始, 每6個(gè)月就會(huì)發(fā)布一個(gè) Java 版本, 以更快地引入新特性。這里又分為 LTS 版和最新版。 生產(chǎn)環(huán)境中最好只使用 LTS 版本, 因?yàn)檫@個(gè)版本更加穩(wěn)定, 維護(hù)周期更長。2018 年 3 月 21 日, Java 10 發(fā)布。2018 年 9 月 25 日, Java 11 LTS 發(fā)布。
2019 年,2019 年 2 月 Java 12 發(fā)布2019 年 9 月 Java 13 發(fā)布。
2020 年,2020 年 3 月 17 日,Java 14 發(fā)布。2020 年 9 月 15 日,Java 15 發(fā)布。
2021 年,2021 年 3 月 16 日,Java SE 16 發(fā)布。2021 年 9 月 14 日,Java SE 17 LTS 發(fā)布。
這個(gè)是繼 Java 11 之后的有一個(gè)長期支持版本, 并且直接支持到了 2029 年 9 月。這可能是下一個(gè) Java 8。所以學(xué)習(xí)的話, 可以直接學(xué)習(xí)這個(gè)版本。當(dāng)然也可以直接學(xué)習(xí) Java 17 這樣的話, 對(duì)于工作來說 3 年之內(nèi)不會(huì)有大的變化。
總結(jié)
- 上一篇: 企业中常见的杀毒软件
- 下一篇: MSN下载2010最新版