天天看點

Java概述——01吹牛皮之Java的引導者

紀小七是也(菜刀斬亂麻,代碼撸出花)

如果你堅持上二樓,你的熱枕會為你找到梯子;

如果你隻想試試,就什麼都得不到。—— 松下幸之助

打好基礎,方能揚鞭策馬日行千裡!

Java基礎是學習JavaEE、大資料、Android開發的基礎。

重要的事情說三遍

要知道,做技術,吹牛皮那是絕不可少!

要知道,做技術,吹牛皮那是絕不可少!

要知道,做技術,吹牛皮那是絕不可少!

小哥哥小姐姐畢業後總會跑到某家吸血的公司,同樣也會“遇人不淑”啊。同一機關下,哪有不碰頭?

這時!!!!,如何凸顯咱的過人情商,避免尴尴尬尬的 atmosphere ???

那就講幾個老頭吧(當人們讨論一種程式設計語言時,總喜歡捎帶着下蛋的母雞。。。)!!

【1】

首先呢,抛個磚引個玉(講一講時至今日我都沒有心情看完的發展曆史、、、、、、)

1996年1月23日,jdk1.0誕生。

1996年4月,10個最主要的作業系統供應商申明将在其産品中嵌入Java技術。

1996年5月底,Sun公司于美國舊金山舉行了首屆JavaOne大會,從此JavaOne成為全世界數百萬Java語言開發者每年一度的技術盛會。

1996年9月,已有大約8.3萬個網頁應用了Java技術來制作。

1997年2月19日,Sun公司釋出了JDK 1.1,Java技術的一些最基礎的支撐點(如JDBC等)都是在JDK 1.1版本中釋出的,JDK 1.1版的技術代表有:JAR檔案格式、JDBC、JavaBeans、RMI。Java文法也有了一定的發展,如内部類(Inner Class)和反射(Reflection)都是在這個時候出現的。
1998年12月4日,JDK迎來了一個裡程碑式的版本JDK 1.2,工程代号為Playground(競技場),Sun在這個版本中把Java技術體系拆分為3個方向,分别是面向桌面應用開發的J2SE(Java 2 Platform, Standard Edition)、面向企業級開發的J2EE(Java 2 Platform, Enterprise Edition)和面向手機等移動終端開發的J2ME(Java 2 Platform, Micro Edition)。
1999年3月和7月,分别有JDK 1.2.1和JDK 1.2.2兩個小版本釋出。
1999年4月27日,HotSpot虛拟機釋出,HotSpot最初由一家名為“Longview Technologies”的小公司開發,因為HotSpot的優異表現,這家公司在1997年被Sun公司收購了。HotSpot虛拟機釋出時是作為JDK 1.2的附加程式提供的,後來它成為了JDK 1.3及之後所有版本的Sun JDK的預設虛拟機。
2000年5月8日,工程代号為Kestrel(美洲紅隼)的JDK 1.3釋出,JDK 1.3相對于JDK 1.2的改進主要表現在一些類庫上(如數學運算和新的Timer API等),JNDI服務從JDK 1.3開始被作為一項平台級服務提供(以前JNDI僅僅是一項擴充),使用CORBA IIOP來實作RMI的通信協定,等等。這個版本還對Java 2D做了很多改進,提供了大量新的Java 2D API,并且新添加了JavaSound類庫。JDK 1.3有1個修正版本JDK 1.3.1,工程代号為Ladybird(瓢蟲),于2001年5月17日釋出。
2002年2月13日,JDK 1.4釋出,工程代号為Merlin(灰背隼)。JDK 1.4是Java真正走向成熟的一個版本,Compaq、Fujitsu、SAS、Symbian、IBM等著名公司都有參與甚至實作自己獨立的JDK 1.4。哪怕是在十多年後的今天,仍然有許多主流應用(Spring、Hibernate、Struts等)能直接運作在JDK 1.4之上,或者繼續釋出能運作在JDK 1.4上的版本。JDK 1.4同樣釋出了很多新的技術特性,如正規表達式、異常鍊、NIO、日志類、XML解析器和XSLT轉換器等。
2002年前後還發生了一件與Java沒有直接關系,但事實上對Java的發展程序影響很大的事件,那就是微軟公司的.NET Framework釋出了。這個無論是技術實作上還是目标使用者上都與Java有很多相近之處的技術平台給Java帶來了很多讨論、比較和競争,.NET平台和Java平台之間聲勢浩大的孰優孰劣的論戰到目前為止都在繼續。
2004年9月30日,JDK 1.5釋出,工程代号Tiger(老虎)。從JDK 1.2以來,Java在文法層面上的變換一直很小,而JDK 1.5在Java文法易用性上做出了非常大的改進。例如,自動裝箱、泛型、動态注解、枚舉、可變長參數、周遊循環(foreach循環)等文法特性都是在JDK 1.5中加入的。在虛拟機和API層面上,這個版本改進了Java的記憶體模型(Java Memory Model,JMM)、提供了java.util.concurrent并發包等。另外,JDK 1.5是官方聲明可以支援Windows 9x平台的最後一個JDK版本。
2006年12月11日,JDK 1.6釋出,工程代号Mustang(野馬)。在這個版本中,Sun終結了從JDK 1.2開始已經有8年曆史的J2EE、J2SE、J2ME的命名方式,啟用Java SE 6、Java EE 6、Java ME 6的命名方式。JDK 1.6的改進包括:提供動态語言支援(通過内置Mozilla Java Rhino引擎實作)、提供編譯API和微型HTTP伺服器API等。同時,這個版本對Java虛拟機内部做了大量改進,包括鎖與同步、垃圾收集、類加載等方面的算法都有相當多的改動。

在2006年11月13日的JavaOne大會上,Sun公司宣布最終會将Java開源,并在随後的一年多時間内,陸續将JDK的各個部分在GPL v2(GNU General Public License v2)協定下公開了源碼,并建立了OpenJDK組織對這些源碼進行獨立管理。除了極少量的産權代碼(Encumbered Code,這部分代碼大多是Sun本身也無權限進行開源處理的)外,OpenJDK幾乎包括了Sun JDK的全部代碼,OpenJDK的品質主管曾經表示,在JDK 1.7中,Sun JDK和OpenJDK除了代碼檔案頭的版權注釋之外,代碼基本上完全一樣,是以OpenJDK 7與Sun JDK 1.7本質上就是同一套代碼庫開發的産品。

JDK 1.6釋出以後,由于代碼複雜性的增加、JDK開源、開發JavaFX、經濟危機及Sun收購案等原因,Sun在JDK發展以外的事情上耗費了很多資源,JDK的更新沒有再維持兩年釋出一個主版本的發展速度。JDK 1.6到目前為止一共釋出了37個Update版本,最新的版本為Java SE 6 Update 37,于2012年10月16日釋出。

2009年2月19日,工程代号為Dolphin(海豚)的JDK 1.7完成了其第一個裡程碑版本。根據JDK 1.7的功能規劃,一共設定了10個裡程碑。最後一個裡程碑版本原計劃于2010年9月9日結束,但由于各種原因,JDK 1.7最終無法按計劃完成。

從JDK 1.7最開始的功能規劃來看,它本應是一個包含許多重要改進的JDK版本,其中的Lambda項目(Lambda表達式、函數式程式設計)、Jigsaw項目(虛拟機子產品化支援)、動态語言支援、GarbageFirst收集器和Coin項目(語言細節進化)等子項目對于Java業界都會産生深遠的影響。在JDK 1.7開發期間,Sun公司由于相繼在技術競争和商業競争中都陷入泥潭,公司的股票市值跌至僅有高峰時期的3%,已無力推動JDK 1.7的研發工作按正常計劃進行。為了盡快結束JDK 1.7長期“跳票”的問題,Oracle公司收購Sun公司後不久便宣布将實行“B計劃”,大幅裁剪了JDK 1.7預定目标,以便保證JDK 1.7的正式版能夠于2011年7月28日準時釋出。“B計劃”把不能按時完成的Lambda項目、Jigsaw項目和Coin項目的部分改進延遲到JDK 1.8之中。最終,JDK 1.7的主要改進包括:提供新的G1收集器(G1在釋出時依然處于Experimental狀态,直至2012年4月的Update 4中才正式“轉正”)、加強對非Java語言的調用支援(JSR-292,這項特性到目前為止依然沒有完全實作定型)、更新類加載架構等。

到目前為止,JDK 1.7已經釋出了9個Update版本,最新的Java SE 7 Update 9于2012年10月16日釋出。從Java SE 7 Update 4起,Oracle開始支援Mac OS X作業系統,并在Update 6中達到完全支援的程度,同時,在Update 6中還對ARM指令集架構提供了支援。至此,官方提供的JDK可以運作于Windows(不含Windows 9x)、Linux、Solaris和Mac OS平台上,支援ARM、x86、x64和Sparc指令集架構類型。

2009年4月20日,Oracle公司宣布正式以74億美元的價格收購Sun公司,Java商标從此正式歸Oracle所有(Java語言本身并不屬于哪間公司所有,它由JCP組織進行管理,盡管JCP主要是由Sun公司或者說Oracle公司所上司的)。

  

2011年7月28日,Oracle公司釋出Java SE 1.7

2014年3月18日,Oracle公司發表Java SE 1.8

【2】

痛苦!!!

(還沒有入門,就已經有 頭秃的迹象了!!)

第一個小老頭(賊可愛~~~):

Java的老父親:James Gosling

Java概述——01吹牛皮之Java的引導者

是不是有點治愈風???

第二位老大爺:Joshua Bloch

Java風雨十年,從JDK 1.1到J2SE 5.0,Joshua實在功不可沒。

有人說,如果将James Gosling比作Java之父,那麼Joshua就是一手将Java “哺育”成人的Java之母。這足以看出老大爺的付出了。

不過令人頭大的是,咱也沒有見過這牛人,網上找的這老大爺的照片竟然鳳毛麟角(說白了就是小七沒有搜到,哈哈哈哈)。