欧美日韩不卡一区二区三区,www.蜜臀.com,高清国产一区二区三区四区五区,欧美日韩三级视频,欧美性综合,精品国产91久久久久久,99a精品视频在线观看

java語(yǔ)言

Java發(fā)展史之Java的由來(lái)

時(shí)間:2025-05-29 22:30:22 java語(yǔ)言 我要投稿
  • 相關(guān)推薦

Java發(fā)展史之Java的由來(lái)

  Java發(fā)展史之Java的由來(lái)

  Java:由Sun Microsystems公司于1995年5月推出的Java程序設(shè)計(jì)語(yǔ)言和Java平臺(tái)的總稱。Java語(yǔ)言是一種可以撰寫跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,由當(dāng)時(shí)任職太陽(yáng)微系統(tǒng)的詹姆斯·高斯林(James Gosling)等人于1990年代初開發(fā),它最初被命名為Oak。Java伴隨著互聯(lián)網(wǎng)的迅猛發(fā)展而發(fā)展,逐漸成為重要的網(wǎng)絡(luò)編程語(yǔ)言。

  Java從第一個(gè)版本誕生到現(xiàn)在已經(jīng)有十九年的時(shí)間了。時(shí)間若白駒過隙,轉(zhuǎn)瞬即逝。彈指間19年過去了,在下圖所展示的時(shí)間線中,我們看到JDK已經(jīng)發(fā)展到了1.8版。在這19年里還誕生了無(wú)數(shù)和Java相關(guān)的產(chǎn)品、技術(shù)和標(biāo)準(zhǔn)。現(xiàn)在讓我們走入時(shí)間隧道,從孕育Java語(yǔ)言的時(shí)代開始,回顧一下Java的發(fā)展軌跡和歷史變遷。

  1991年4月,由James Gosling博士領(lǐng)導(dǎo)的綠色計(jì)劃(Green Project)開始啟動(dòng),此計(jì)劃的目的是開發(fā)一種能夠在各種消費(fèi)性電子產(chǎn)品(如機(jī)頂盒、冰箱、收音機(jī)等)上運(yùn)行的程序架構(gòu)。這個(gè)計(jì)劃的產(chǎn)品就是Java語(yǔ)言的前身:Oak(橡樹)。Oak當(dāng)時(shí)在消費(fèi)品市場(chǎng)上并不算成功,但隨著1995年互聯(lián)網(wǎng)潮流的興起,Oak迅速找到了最適合自己發(fā)展的市場(chǎng)定位并蛻變成為Java語(yǔ)言。

  1995年5月23日,Oak語(yǔ)言改名為Java,并且在SunWorld大會(huì)上正式發(fā)布Java 1.0版本。Java語(yǔ)言第一次提出了“Write Once,Run Anywhere”的口號(hào)。

  1996年1月23日,JDK 1.0發(fā)布,Java語(yǔ)言有了第一個(gè)正式版本的運(yùn)行環(huán)境。JDK 1.0提供了一個(gè)純解釋執(zhí)行的Java虛擬機(jī)實(shí)現(xiàn)(Sun Classic VM)。JDK 1.0版本的代表技術(shù)包括:Java虛擬機(jī)、 、AWT等。

  1996年4月,10個(gè)最主要的操作系統(tǒng)供應(yīng)商申明將在其產(chǎn)品中嵌入Java技術(shù)。同年9月,已有大約8.3萬(wàn)個(gè)網(wǎng)頁(yè)應(yīng)用了Java技術(shù)來(lái)制作。在1996年5月底,Sun公司于美國(guó)舊金山舉行了首屆JavaOne大會(huì),從此JavaOne成為全世界數(shù)百萬(wàn)Java語(yǔ)言開發(fā)者每年一度的技術(shù)盛會(huì)。

  1997年2月19日,Sun公司發(fā)布了JDK 1.1,Java技術(shù)的一些最基礎(chǔ)的支撐點(diǎn)(如JDBC等)都是在JDK 1.1版本中發(fā)布的,JDK 1.1版的技術(shù)代表有:JAR文件格式、JDBC、JavaBeans、RMI。Java語(yǔ)法也有了一定的發(fā)展,如內(nèi)部類(Inner Class)和反射(Reflection)都是在這個(gè)時(shí)候出現(xiàn)的。

  直到1999年4月8日,JDK 1.1一共發(fā)布了1.1.0~1.1.8九個(gè)版本。從1.1.4之后,每個(gè)JDK版本都有一個(gè)自己的名字(工程代號(hào)),分別為:JDK 1.1.4 - Sparkler(寶石)、JDK 1.1.5 - Pumpkin(南瓜)、JDK 1.1.6 - Abigail(阿比蓋爾,女子名)、JDK 1.1.7 - Brutus(布魯圖,古羅馬政治家和將軍)和JDK 1.1.8 – Chelsea(切爾西,城市名)。

  1998年12月4日,JDK迎來(lái)了一個(gè)里程碑式的版本JDK 1.2,工程代號(hào)為Playground(競(jìng)技場(chǎng)),Sun在這個(gè)版本中把Java技術(shù)體系拆分為3個(gè)方向,分別是面向桌面應(yīng)用開發(fā)的J2SE(Java 2 Platform, Standard Edition)、面向企業(yè)級(jí)開發(fā)的J2EE(Java 2 Platform, Enterprise Edition)和面向手機(jī)等移動(dòng)終端開發(fā)的J2ME(Java 2 Platform, Micro Edition)。在這個(gè)版本中出現(xiàn)的代表性技術(shù)非常多,如EJB、Java Plug-in、Java IDL、Swing等,并且這個(gè)版本中Java虛擬機(jī)第一次內(nèi)置了JIT(Just In Time)編譯器(JDK 1.2中曾并存過3個(gè)虛擬機(jī),Classic VM、HotSpot VM和Exact VM,其中Exact VM只在Solaris平臺(tái)出現(xiàn)過;后面兩個(gè)虛擬機(jī)都是內(nèi)置JIT編譯器的,而之前版本所帶的Classic VM只能以外掛的形式使用JIT編譯器)。在語(yǔ)言和API級(jí)別上,Java添加了strictfp關(guān)鍵字與現(xiàn)在Java編碼之中極為常用的一系列Collections集合類。

  在1999年3月和7月,分別有JDK 1.2.1和JDK 1.2.2兩個(gè)小版本發(fā)布。

  1999年4月27日,HotSpot虛擬機(jī)發(fā)布,HotSpot最初由一家名為“Longview Technologies”的小公司開發(fā),因?yàn)镠otSpot的優(yōu)異表現(xiàn),這家公司在1997年被Sun公司收購(gòu)了。HotSpot虛擬機(jī)發(fā)布時(shí)是作為JDK 1.2的附加程序提供的,后來(lái)它成為了JDK 1.3及之后所有版本的Sun JDK的默認(rèn)虛擬機(jī)。

  2000年5月8日,工程代號(hào)為Kestrel(美洲紅隼)的JDK 1.3發(fā)布,JDK 1.3相對(duì)于JDK 1.2的改進(jìn)主要表現(xiàn)在一些類庫(kù)上(如數(shù)學(xué)運(yùn)算和新的Timer API等),JNDI服務(wù)從JDK 1.3開始被作為一項(xiàng)平臺(tái)級(jí)服務(wù)提供(以前JNDI僅僅是一項(xiàng)擴(kuò)展),使用CORBA IIOP來(lái)實(shí)現(xiàn)RMI的通信協(xié)議,等等。這個(gè)版本還對(duì)Java 2D做了很多改進(jìn),提供了大量新的Java 2D API,并且新添加了JavaSound類庫(kù)。JDK 1.3有1個(gè)修正版本JDK 1.3.1,工程代號(hào)為L(zhǎng)adybird(瓢蟲),于2001年5月17日發(fā)布。

  自從JDK 1.3開始,Sun維持了一個(gè)習(xí)慣:大約每隔兩年發(fā)布一個(gè)JDK的主版本,以動(dòng)物命名,期間發(fā)布的各個(gè)修正版本則以昆蟲作為工程名稱。

  2002年2月13日,JDK 1.4發(fā)布,工程代號(hào)為Merlin(灰背隼)。JDK 1.4是Java真正走向成熟的一個(gè)版本,Compaq、Fujitsu、SAS、Symbian、IBM等著名公司都有參與甚至實(shí)現(xiàn)自己獨(dú)立的JDK 1.4。哪怕是在十多年后的今天,仍然有許多主流應(yīng)用(Spring、Hibernate、Struts等)能直接運(yùn)行在JDK 1.4之上,或者繼續(xù)發(fā)布能運(yùn)行在JDK 1.4上的版本。JDK 1.4同樣發(fā)布了很多新的技術(shù)特性,如正則表達(dá)式、異常鏈、NIO、日志類、 解析器和XSLT轉(zhuǎn)換器等。

  JDK 1.4有兩個(gè)后續(xù)修正版:

  2002年9月16日發(fā)布的工程代號(hào)為Grasshopper(蚱蜢)的JDK 1.4.1

  2003年6月26日發(fā)布的工程代號(hào)為Mantis(螳螂)的JDK 1.4.2。

  2002年前后還發(fā)生了一件與Java沒有直接關(guān)系,但事實(shí)上對(duì)Java的發(fā)展進(jìn)程影響很大的事件,那就是微軟公司的.NET work發(fā)布了。這個(gè)無(wú)論是技術(shù)實(shí)現(xiàn)上還是目標(biāo)用戶上都與Java有很多相近之處的技術(shù)平臺(tái)給Java帶來(lái)了很多討論、比較和競(jìng)爭(zhēng),.NET平臺(tái)和Java平臺(tái)之間聲勢(shì)浩大的孰優(yōu)孰劣的論戰(zhàn)到目前為止都在繼續(xù)。

  2004年9月30日,JDK 1.5發(fā)布,工程代號(hào)Tiger(老虎)。從JDK 1.2以來(lái),Java在語(yǔ)法層面上的變換一直很小,而JDK 1.5在Java語(yǔ)法易用性上做出了非常大的改進(jìn)。例如,自動(dòng)裝箱、泛型、動(dòng)態(tài)注解、枚舉、可變長(zhǎng)參數(shù)、遍歷循環(huán)(foreach循環(huán))等語(yǔ)法特性都是在JDK 1.5中加入的。在虛擬機(jī)和API層面上,這個(gè)版本改進(jìn)了Java的內(nèi)存模型(Java Memory Model,JMM)、提供了java.util.concurrent并發(fā)包等。另外,JDK 1.5是官方聲明可以支持Windows 9x平臺(tái)的最后一個(gè)JDK版本。

  2006年12月11日,JDK 1.6發(fā)布,工程代號(hào)Mustang(野馬)。在這個(gè)版本中,Sun終結(jié)了從JDK 1.2開始已經(jīng)有8年歷史的J2EE、J2SE、J2ME的命名方式,啟用Java SE 6、Java EE 6、Java ME 6的命名方式。JDK 1.6的改進(jìn)包括:提供動(dòng)態(tài)語(yǔ)言支持(通過內(nèi)置Mozilla Java Rhino引擎實(shí)現(xiàn))、提供編譯API和微型HTTP服務(wù)器API等。同時(shí),這個(gè)版本對(duì)Java虛擬機(jī)內(nèi)部做了大量改進(jìn),包括鎖與同步、垃圾收集、類加載等方面的算法都有相當(dāng)多的改動(dòng)。

  在2006年11月13日的JavaOne大會(huì)上,Sun公司宣布最終會(huì)將Java開源,并在隨后的一年多時(shí)間內(nèi),陸續(xù)將JDK的各個(gè)部分在GPL v2(GNU General Public License v2)協(xié)議下公開了源碼,并建立了OpenJDK組織對(duì)這些源碼進(jìn)行獨(dú)立管理。除了極少量的產(chǎn)權(quán)代碼(Encumbered Code,這部分代碼大多是Sun本身也無(wú)權(quán)限進(jìn)行開源處理的)外,OpenJDK幾乎包括了Sun JDK的全部代碼,OpenJDK的質(zhì)量主管曾經(jīng)表示,在JDK 1.7中,Sun JDK和OpenJDK除了代碼文件頭的版權(quán)注釋之外,代碼基本上完全一樣,所以O(shè)penJDK 7與Sun JDK 1.7本質(zhì)上就是同一套代碼庫(kù)開發(fā)的產(chǎn)品。

  JDK 1.6發(fā)布以后,由于代碼復(fù)雜性的增加、JDK開源、開發(fā)JavaFX、經(jīng)濟(jì)危機(jī)及Sun收購(gòu)案等原因,Sun在JDK發(fā)展以外的事情上耗費(fèi)了很多資源,JDK的更新沒有再維持兩年發(fā)布一個(gè)主版本的發(fā)展速度。JDK 1.6到目前為止一共發(fā)布了37個(gè)Update版本,最新的版本為Java SE 6 Update 37,于2012年10月16日發(fā)布。

  2009年2月19日,工程代號(hào)為Dolphin(海豚)的JDK 1.7完成了其第一個(gè)里程碑版本。根據(jù)JDK 1.7的功能規(guī)劃,一共設(shè)置了10個(gè)里程碑。最后一個(gè)里程碑版本原計(jì)劃于2010年9月9日結(jié)束,但由于各種原因,JDK 1.7最終無(wú)法按計(jì)劃完成。

  從JDK 1.7最開始的功能規(guī)劃來(lái)看,它本應(yīng)是一個(gè)包含許多重要改進(jìn)的JDK版本,其中的Lambda項(xiàng)目(Lambda表達(dá)式、函數(shù)式編程)、Jigsaw項(xiàng)目(虛擬機(jī)模塊化支持)、動(dòng)態(tài)語(yǔ)言支持、GarbageFirst收集器和Coin項(xiàng)目(語(yǔ)言細(xì)節(jié)進(jìn)化)等子項(xiàng)目對(duì)于Java業(yè)界都會(huì)產(chǎn)生深遠(yuǎn)的影響。在JDK 1.7開發(fā)期間,Sun公司由于相繼在技術(shù)競(jìng)爭(zhēng)和商業(yè)競(jìng)爭(zhēng)中都陷入泥潭,公司的股票市值跌至僅有高峰時(shí)期的3%,已無(wú)力推動(dòng)JDK 1.7的研發(fā)工作按正常計(jì)劃進(jìn)行。為了盡快結(jié)束JDK 1.7長(zhǎng)期“跳票”的問題,Oracle公司收購(gòu)Sun公司后不久便宣布將實(shí)行“B計(jì)劃”,大幅裁剪了JDK 1.7預(yù)定目標(biāo),以便保證JDK 1.7的正式版能夠于2011年7月28日準(zhǔn)時(shí)發(fā)布。“B計(jì)劃”把不能按時(shí)完成的Lambda項(xiàng)目、Jigsaw項(xiàng)目和Coin項(xiàng)目的部分改進(jìn)延遲到JDK 1.8之中。最終,JDK 1.7的主要改進(jìn)包括:提供新的G1收集器(G1在發(fā)布時(shí)依然處于Experimental狀態(tài),直至2012年4月的Update 4中才正式“轉(zhuǎn)正”)、加強(qiáng)對(duì)非Java語(yǔ)言的調(diào)用支持(JSR-292,這項(xiàng)特性到目前為止依然沒有完全實(shí)現(xiàn)定型)、升級(jí)類加載架構(gòu)等。

  到目前為止,JDK 1.7已經(jīng)發(fā)布了9個(gè)Update版本,最新的Java SE 7 Update 9于2012年10月16日發(fā)布。從Java SE 7 Update 4起,Oracle開始支持Mac OS X操作系統(tǒng),并在Update 6中達(dá)到完全支持的程度,同時(shí),在Update 6中還對(duì)ARM指令集架構(gòu)提供了支持。至此,官方提供的JDK可以運(yùn)行于Windows(不含Windows 9x)、Linux、Solaris和Mac OS平臺(tái)上,支持ARM、x86、x64和Sparc指令集架構(gòu)類型。

  2009年4月20日,Oracle公司宣布正式以74億美元的價(jià)格收購(gòu)Sun公司,Java商標(biāo)從此正式歸Oracle所有(Java語(yǔ)言本身并不屬于哪間公司所有,它由JCP組織進(jìn)行管理,盡管JCP主要是由Sun公司或者說(shuō)Oracle公司所領(lǐng)導(dǎo)的)。由于此前Oracle公司已經(jīng)收購(gòu)了另外一家大型的中間件企業(yè)BEA公司,在完成對(duì)Sun公司的收購(gòu)之后,Oracle公司分別從BEA和Sun中取得了目前三大商業(yè)虛擬機(jī)的其中兩個(gè):JRockit和HotSpot,Oracle公司宣布在未來(lái)1~2年的時(shí)間內(nèi),將把這兩個(gè)優(yōu)秀的虛擬機(jī)互相取長(zhǎng)補(bǔ)短,最終合二為一。可以預(yù)見在不久的將來(lái),Java虛擬機(jī)技術(shù)將會(huì)產(chǎn)生相當(dāng)巨大的變化。

  2011年7月28日,Oracle公司發(fā)布Java SE 1.7

  2014年3月18日,Oracle公司發(fā)表Java SE 1.8

  Java語(yǔ)言有下面一些特點(diǎn) :簡(jiǎn)單、面向?qū)ο、分布式、解釋?zhí)行、魯棒、安全、體系結(jié)構(gòu)中立、可移植、高性能、多線程以及動(dòng)態(tài)性。

【Java發(fā)展史之Java的由來(lái)】相關(guān)文章:

Java語(yǔ)言的發(fā)展史08-12

經(jīng)典Java面試題之Java中Char類型的運(yùn)算07-30

Java與Java web的區(qū)別09-30

Java語(yǔ)法基礎(chǔ)之for語(yǔ)句練習(xí)04-28

Java學(xué)習(xí)之MySQL翻頁(yè)例子07-30

Java基礎(chǔ)語(yǔ)法之?dāng)?shù)組的使用07-30

Java基礎(chǔ)之File類的使用05-12

淺談Java語(yǔ)言與Java 技術(shù)09-22

JAVA設(shè)計(jì)模式之單例模式07-29