J2SE:懷胎
java的歷史可以追溯到1991年4月,Sun公司的James Gosling領導的綠色計劃(Green PRoject)開始著力發展一種分布式系統結構,使其能夠在各種消費性電子產品上運行,他們使用了C/C++/Oak語言。由于多種原因,綠色計劃逐漸陷于停滯狀態。
直至 1994年下半年,由于Internet的迅猛發展和環球信息網的快速增長,第一個全球信息網絡瀏覽器Mosaic誕生了;此時,工業界對適合在網絡異構環境下使用的語言有一種非常急迫的需求;Games Gosling決定改變綠色計劃的發展方向,他們對Oak進行了小規模的改造,就這樣,Java在1995年的3月23日誕生了!Java的誕生標志著互聯網時代的開始,它能夠被應用在全球信息網絡的平臺上編寫互動性及強的Applet程序,而1995年的Applet無疑能給人們無窮的視覺和腦力震蕩。
但沒有相應的開發庫而只靠Java語言來進行開發肯定是困難重重,所以Sun公司在1996年的1月23日發布了JDK 1.0來幫助開發人員的開發。JDK包括兩大部分:運行環境和開發工具。緊跟著,Sun公司在1997年2月18日發布了JDK 1.1。JDK1.1相對于舊版本最大的改進,是推出了JIT(Just-In-Time)編譯器,另外一個改進是AWT 1.1。
在JDK 1.1時代,Java平臺分為PersonalJava與EmbeddedJava,前者比較適用于運算資源和內存豐富的設備,而資源有限者適用于后者。這樣的分類明顯不符合時代發展的潮流,所以,Java平臺處處蘊藏著新的翻天覆地的革命……
J2SE1.2:誕生
JDK 1.2在1998年12月4日的隆重發布,標志著Java2平臺的誕生。Java 2的J2SE 1.2時代是一個大變革時代,它進行了如下的三大革命:
● 市場推廣革命
Sun公司在Java 1.2版以后將JDK 1.2改名為J2SDK,將Java改名為Java 2。在1999年Sun公司還將Java 2平臺分為三大塊:J2SE,J2EE,J2ME。這次市場推廣革命順應了網絡急速發展的潮流,對Java 2平臺的發展起到了很好的催化劑的作用。
● API供給標準革命
而隨著供給商的不同,Java的API分為三大類:
Java Core API:由Sun公司制定的基本的API,所有的Java平臺都應該提供。
Java Optional API:由Sun公司制定的擴充API,Java平臺可以有選擇地提供。
非凡API:由非凡廠商或者組織提供的API。
● API制定過程的革命
假如你有需求不能通過遵循標準的API來實現,可以向JCP提出制定新的API的請求,經過審核,你的請求可能被通過或者駁回;假如是被通過,則開始進入制定該API的程序。
J2SE 1.2時代進行的這些革命形成的制度一直沿用到現在,對Java技術的發展形成了深遠的影響。
除了上述的三大革命,Java 2還支持并新增了許多新特性,最受追捧的當屬Swing庫。Swing是輕量級的API,它不但有各式各樣先進的組件,而且連組件風格都可抽換。Swing出現之后,大家很快地就不太使用AWT了。Java 2還廢棄了一些API,最重要的莫過于Thread類中對suspend(),resume()和stop()等方法的廢棄。由于JDK 1.1的集合類庫中的Vector類和HashTable類都考慮了同步,在平常的使用中影響效率,所以Java 2專門添加了對應的非同步類,并完善了集合類庫。
J2SE1.3:拓廣
Java 2平臺推出后,得到了市場的強烈反響,所以,在2000年5月8日推出的J2SE 1.3對J2SE 1.2的改進,主要是對各種已有API的加強和對新API的拓展。
數字運算:加入了java.lang.StrictMath,方便我們的一般的數字運算。
新的Timer API:相信大家對其中的java.util.Timer和java.util.TimerTask一定不生疏。
Collections包:加入了一些新的API,方便我們的使用。
虛擬機停止鉤子:J2SE 1.3還加入了一個強大的功能,那就是虛擬機停止鉤子(Virtual Machine Shutdown Hooks),這個功能使得我們能夠在虛擬機停止時完成我們自己的操作,比如關閉網絡連接或者保存會話狀態或者清除臨時文件等等。
DNS服務:在JNDI接口方面,加入了一個DNS服務的實現。
Jini實現:J2SE 1.3包含了一個Jini實現,這使得我們可以方便地把諸如打印機、攝像機和磁盤驅動設備插入現有網絡中,并且能自動搜索已在網上的設備可以提供的服務并享用這些服務。
xml支持:由于計算機網絡和XML技術的快速發展, J2SE 1.3在Optional API中引入了Java API for XML包。
HotSpot虛擬機:J2SE 1.3引入了HotSpot虛擬機。在Solaris版的JDK 1.3中,已經不支持傳統的虛擬機,而Windows版的JDK 1.3同時支持傳統虛擬機和HotSpot虛擬機。
從上面的分析可以看出,J2SE 1.3主要是對J2SE 1.2查漏補缺和拓展新的API。從應用領域方面考慮,J2SE 1.3已經涵蓋了數據庫、WEB、多媒體、網絡、電話、影像、加解密、圖形等等大部分的信息技術領域。
在這個時期Java 2還有一個重要活動就是推出SCSL(Sun社區源代碼許可)許可協議。Sun公司開放源代碼項目的“女1號”Danese Cooper在1999年加入公司,負責Sun(包括Java)和開放源代碼社區之間的協調工作。Sun一直盡可能在贏利和開放源代碼之間尋求更好的平衡。
Java的大行其道引起了Microsoft的警惕并直接導致了.Net的產生,這同時也公布了Java作為獨一無二的Internet平臺地位的結束。這兩個對手在較量中相互學習,現在在技術架構上的目標上已趨相同。
新聞熱點
疑難解答