前言
自1946年2月14日世界上首款計算機問世,第一代計算機語言“機器語言”便誕生了,它使用的是最原始的穿孔卡片,這種卡片上使用的語言只有專家才能理解,與人類語言差別極大。這種語言本質上是計算機能識別的唯一語言,人類很難理解。為了能讓人們更容易理解並編寫,於是便有了第二代的“匯編語言”,相比機器語言,匯編語言大大前進了一步,盡管它還是太復雜,人們在使用時很容易出錯誤,但畢竟許多數碼已經開始用字母來代替。簡單的“0、1”數碼誰也不會理解,但字母是人們能夠閱讀並拼寫的。雖然第二代計算機語言仍然是“面向機器”的語言,但它已注定成為機器語言向更高級語言進化的橋梁。當計算機語言發展到第三代時,就進入了“面向人類”的語言階段。你可以閱讀、並直接用人類的語言來輸入。對我們漢語來說,目前還不能用中文漢字來輸入指令,這主要是因為中文的輸入還沒有一個非常好的手段。第三代語言被人們稱之為“高級語言”。高級語言是一種接近於人們使用習慣的程序設計語言。它允許用英文寫計算程序,程序中所使用的運算符號和運算式子,都和我們日常用的數學式子差不多。高級語言容易學習,通用性強,書寫出的程序比較短,便於推廣和交流,是很理想的一種程序設計語言。我們今天講述的就是第三代語言“高級語言“中的Java語言。
1.JAVA語言的誕生!
在1991年時候,James Gosling在Sun公司的工程師小組想要設計這樣一種主要用於像電視盒這樣的消費類電子產品的小型計算機語言。這些電子產品有一個共同的特點:計算處理能力和內存都非常有限。所以要求:語言必須非常小且能夠生成非常緊湊的代碼,這樣才能在這樣的環境中執行。另外,由於不同的廠商選擇不同的CPU,因此,要求該語言不能和特定的體系結構綁在一起,要求語言本身是中立的,也就是跨平台的。最初這個語言命名為“Green”,類似於綠色軟件的意思。其原先的目的是為家用消費電子產品開發一個分布式代碼系統, 這樣我們可以把E-mail發給電冰箱、 電視機等家用電器, 對它們進行控制, 和它們進行信息交流。開始, 准備采用C++,但C++太復雜, 安全性差, 最后基於C++開發一種新的語言Oak,Oak是一種用於網絡的精巧而安全的語言, Sun公司此投標一個交互式電視項目, 但結果被SGI打敗。 可憐的Oak幾乎無家可歸, 恰巧這時Mark Ardreesen開發的Mosaic和Netscape啟發了Oak項目組的成員。他們用一種全新的語言編寫了一款瀏覽器,得到了Sun公司首席執行官Scott McNealy的支持。在一次幾位該成員組的會員在一家名為“爪蛙”咖啡的店里正在討論給這個新的語言取什么名字時,有一個人靈機一動說:“就叫Java怎樣”, 得到了其他人的贊賞, 於是, Java語言就誕生了。
2.JAVA語言發展歷程!
1995年5月23日,Java語言正式誕生。
1996年1月,第一個JDK-JDK1.0誕生。
新特性及更新修改:
Sun Classic VM(虛擬機)
Applet(java小應用程序)
AWT(java圖形設計)
1996年4月,10個最主要的操作系統供應商申明將在其產品中嵌入Java技術。
1996年9月,約8.3萬個網頁應用了Java技術來制作。
1997年2月18日,JDK1.1發布。
新特性及更新修改:
-
-
-
- JAR(jar包)
- JDBC(Java DataBase Connectivity)(連接數據庫)
- JavaBeans(java規范)
- RMI(遠程調用)
- Inner Class(內部類)
- Reflection(反射)
-
-
1997年4月2日,JavaOne會議召開,參與者超過萬人,創造當時全球同類會議規模之紀錄。
1997年9月,JavaDeveloperConnection社區成員超過十萬。
1998年2月,JDK1.1被下載超過2,000,000次。
1998年12月8,Java的企業平台Java EE正式發布。
1999年6月,Sun公司發布Java的三大版本:標准版(Java SE)、企業版(Java EE)、微型版(Java ME)。
2000年5月8日,JDK1.3發布。
新特性及更新修改:
-
-
-
- 數學運算
- Timer API(時間)
- Java Sound API(聲音)
- CORBA IIOP實現RMI的通信協議
- Java 2D新特性
- jar文件索引
-
-
2000年5月29日,JDK1.4發布。
2001年6月5日,NOKIA宣布,到2003年將出售1億部支持Java的手機。
2001年9月24日,Java EE 1.3發布。
2002年2月26日,J2SE1.4發布,自此Java的計算能力有了大幅提升。
2004年9月30日,J2SE1.5發布,是Java語言發展史上的又一里程碑事件。為了表示這個版本的重要性,Java SE 1.5正式更名為Java SE 5.0。
新特性及更新修改:
-
-
-
- 自動裝箱拆箱
- 泛型
- 元數據
- Introspector(內省)
- enum(枚舉)
- 靜態引入
- 可變長參數(Varargs)
- foreach(高級虛幻)
- JMM(內存模型)
- concurrent(並發包)
-
-
2006年12月,Sun公司發布了JDK1.6(也被稱為Java SE 6)。一直以來,Sun公司維持着大約2年發布一次JDK新版本的習慣。
2009年4月20日,Oracle宣布將以每股9.5美元的價格收購Sun,該交易的總價值約為74億美元。但Oracle通過收購Sun公司獲得了兩項軟件資產:Java和Solaris。2007年11月,Java語言作為服務器端編程語言,已經取得了極大地成功;而Android平台的流行,則讓Java語言獲得了在客戶端程序上大展拳腳的機會。
2011年7月28日,Oracle公司發布了Java SE 7,這次版本升級經過了將近5年時間。Java SE 7也是Oracle發布的第一個Java版本,引入了二進制整數、支持字符串的switch語句、多異常捕捉、自動關閉資源的try語句等新特性。
2014年3月18日,Oracle公司發布了Java SE 8,這次版本升級為Java帶來了全新的Lambda表達式。除此之外,Java 8還增加了大量新特性,這些新特性使得Java變得更加強大。
目前Java的版本已經更新了好幾個版本,但目前市場主流還是使用的JDK8。
新特性及更新修改:
-
-
-
- Lambda表達式
- 函數式接口
- 方法引用和構造器調用
- Stream API
- 接口中的默認方法和靜態方法
- 新時間日期API
-
-