官术网_书友最值得收藏!

1.1 Java語言簡介

Java是由Sun Microsystems公司于1995年5月推出的Java程序設(shè)計語言和Java平臺的總稱。目前Sun公司已被美國數(shù)據(jù)軟件巨頭甲骨文(Oracle)公司收購。

Java的名字來源于印度尼西亞爪哇島的英文名稱,這個小島因盛產(chǎn)咖啡而聞名。Java語言中的許多庫類名稱都與咖啡有關(guān),如JavaBeans(咖啡豆)、NetBeans(網(wǎng)絡(luò)豆)及ObjectBeans(對象豆)等。Sun和Java的標識也正是一杯冒著熱氣的咖啡。Java最初是為TV機頂盒設(shè)計的新語言,在Sun內(nèi)部一直稱之為Green項目。為了給這個新語言起個名字,Gosling注意到自己辦公室外有一棵茂密的橡樹(Oak),這是一種在硅谷很常見的樹。所以他將這個新語言命名為Oak。但Oak是另外一個注冊公司的名字,這個名字不可能再用了。在命名征集會上,大家提出了很多名字,最后按大家的評選次序,將十幾個名字排列成表,上報給商標律師。排在第一位的是Silk(絲綢)。盡管大家都喜歡這個名字,但遭到James Gosling的堅決反對。排在第二和第三的都沒有通過律師這一關(guān)。只有排在第四位的名字得到了所有人的認可和律師的通過,這個名字就是Java。

十多年來,Java就像爪哇咖啡一樣譽滿全球,成為名至實歸的企業(yè)級應(yīng)用平臺的霸主。而Java語言也如同咖啡一般醇香動人。目前,Java語言仍然是世界上最受歡迎的編程語言之一,而且是一種面向?qū)ο蟮母呒壘幊陶Z言。

1.1.1 Java語言發(fā)展歷史

Java語言最早誕生于1991年,來自于Sun(全稱為Stanford University Network,1982年成立)公司的一個叫Green的項目。

到2009年年中,Java已經(jīng)發(fā)布了一系列的版本,以下列出其中比較重要的Java歷史事件。

1995年5月23日,發(fā)布了Java語言。

1996年1月,第一個JDK——JDK1.0誕生。

1996年4月,10個最主要的操作系統(tǒng)供應(yīng)商聲明將在其產(chǎn)品中嵌入Java技術(shù)。

1996年9月,約8.3萬個網(wǎng)頁應(yīng)用了Java技術(shù)來制作。

1997年2月18日,JDK1.1發(fā)布。

1997年4月2日,JavaOne會議召開,參與者逾一萬人,創(chuàng)當時全球同類會議規(guī)模之紀錄。

1997年9月,Java Developer Connection社區(qū)成員超過十萬。

1998年2月,JDK1.1被下載超過2000000次。

1998年12月8日,Java2企業(yè)平臺J2EE發(fā)布。

1999年6月,Sun公司發(fā)布了Java的3個版本:標準版(J2SE)、企業(yè)版(J2EE)和微型版(J2ME)。

2000年5月8日,JDK1.3發(fā)布。

2000年5月29日,JDK1.4發(fā)布。

2001年6月5日,NOKIA宣布,到2003年將出售1億部支持Java的手機。

2001年9月24日,J2EE1.3發(fā)布。

2002年2月26日,J2SE1.4發(fā)布,自此,Java的計算能力有了大幅提升。

2004年9月30日,J2SE1.5發(fā)布,成為Java語言發(fā)展史上的又一里程碑。為了表示該版本的重要性,J2SE 1.5更名為Java SE 5.0。

2005年6月,JavaOne大會召開,Sun公司公開Java SE 6。此時,Java的各種版本已經(jīng)更名,取消其中的數(shù)字2:J2EE更名為Java EE, J2SE更名為Java SE, J2ME更名為Java ME。

2006年11月13日,Sun公司宣布將Java技術(shù)作為免費軟件對外發(fā)布。

2006年12月11日,JDK 1.6發(fā)布,工程代號為Mustang(野馬)。至此,Sun公司終結(jié)了從JDK 1.2開始已經(jīng)有8年歷史的J2EE、J2SE、J2ME的命名方式,啟用Java SE、Java EE、Java ME的命名方式。

2009年2月19日,工程代號為Dolphin(海豚)的JDK 1.7完成了第一個里程碑版本。

2009年4月20日,Oracle公司正式宣布以74億美元的價格收購Sun公司,Java商標從此正式歸Oracle公司所有。

目前在官方網(wǎng)站https://www.oracle.com/technetwork/java/javase/downloads/index.html上可以下載的JDK最新版本為Java Platform (JDK) 11。

1.1.2 Java語言特點

Java是一種簡單的、面向?qū)ο蟮摹⒎植际降摹⒔忉屝偷摹⒔寻踩摹⒔Y(jié)構(gòu)中立的、可移植的、性能優(yōu)異、多線程的動態(tài)語言。Java語言作為一種廣泛使用的程序設(shè)計語言,具有以下特性。

(1)Java語言是簡單的。一方面,Java語言的語法與C語言和C++語言很接近,這使得大多數(shù)程序員很容易學(xué)習和使用Java。另一方面,Java丟棄了C++中很少使用的、很難理解的特性,如操作符重載、多繼承、自動的強制類型轉(zhuǎn)換。特別地,Java語言不使用指針,并提供了自動的內(nèi)存收集,使得程序員不必為內(nèi)存管理而擔憂。

(2)Java語言是面向?qū)ο蟮摹ava語言提供類、接口和繼承等原語,為了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實現(xiàn)機制(關(guān)鍵字為implements)。Java語言全面支持動態(tài)綁定,是一個純面向?qū)ο蟮某绦蛟O(shè)計語言。

(3)Java語言是分布式的。Java語言支持Internet應(yīng)用的開發(fā),在基本的Java應(yīng)用編程接口中有一個網(wǎng)絡(luò)應(yīng)用編程接口(java.net),它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類庫,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(遠程方法調(diào)用)機制也是開發(fā)分布式應(yīng)用的重要手段。

(4)Java語言是健壯的。Java的強類型機制、異常處理、內(nèi)存空間的自動收集等是Java程序健壯性的重要保證。對指針的丟棄是Java的明智選擇。Java的安全檢查機制使得Java更具健壯性。

(5)Java語言是安全的。Java通常被用在網(wǎng)絡(luò)環(huán)境中,為此,Java提供了一種安全機制以防惡意代碼的攻擊。除了Java語言具有的許多安全特性以外,Java對通過網(wǎng)絡(luò)下載的類具有安全防范機制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類、字節(jié)代碼檢查,并提供安全管理機制(類SecurityManager)讓Java應(yīng)用設(shè)置安全哨兵。

(6)Java語言是體系結(jié)構(gòu)中立的。Java程序(后綴為.java的文件)在Java平臺上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為.class的文件),然后可以在實現(xiàn)這個Java平臺的任何系統(tǒng)中運行。這種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境中軟件的分發(fā)。

(7)Java語言是可移植的。這種可移植性來源于體系結(jié)構(gòu)中立性,另外,Java還嚴格規(guī)定了各個基本數(shù)據(jù)類型的長度,與具體的硬件平臺無關(guān)。Java系統(tǒng)本身也具有很強的可移植性,Java編譯器是用Java實現(xiàn)的,Java的運行環(huán)境是用ANSI C實現(xiàn)的。

(8)Java語言是編譯解釋型的。如前所述,Java程序在Java平臺上被編譯為字節(jié)碼格式,然后可以在實現(xiàn)這個Java平臺的任何系統(tǒng)中運行。在運行時,Java平臺中的Java解釋器對這些字節(jié)碼進行解釋執(zhí)行,執(zhí)行過程中需要的類在連接階段被載入到運行環(huán)境中。

(9)Java是高性能的。與那些解釋型的高級腳本語言相比,Java的確是高性能的。事實上,Java的運行速度隨著JIT(Just-In-Time)編譯器技術(shù)的發(fā)展越來越快。

(10)Java語言是多線程的。在Java語言中,線程是一種特殊的對象,它必須由Thread類或其子(孫)類來創(chuàng)建。通常有兩種方法來創(chuàng)建線程:其一,使用Thread(Runnable) 的構(gòu)造方法將一個實現(xiàn)了Runnable接口的對象包裝成一個線程;其二,從Thread類派生出子類并重寫run方法,使用該子類創(chuàng)建的對象即為線程。值得注意的是,Thread類已經(jīng)實現(xiàn)了Runnable接口,因此,任何一個線程均有它的run方法,而run方法中包含了線程所要運行的代碼。線程的活動由一組方法來控制。Java語言支持多個線程的同時執(zhí)行,并提供多線程之間的同步機制(關(guān)鍵字為synchronized)。

(11)Java語言是動態(tài)的。Java語言的設(shè)計目標之一是適應(yīng)動態(tài)變化的環(huán)境。Java程序需要的類能夠動態(tài)地被載入到運行環(huán)境,也可以通過網(wǎng)絡(luò)來載入所需要的類,這也有利于軟件的升級。另外,Java中的類有一個運行時的表示,能進行運行時的類型檢查。

Java語言的優(yōu)良特性使得Java應(yīng)用具有無比的健壯性和可靠性,這也減少了應(yīng)用系統(tǒng)的維護費用。Java對對象技術(shù)的全面支持和Java平臺內(nèi)嵌的API能縮短應(yīng)用系統(tǒng)的開發(fā)時間并降低成本。Java的“編譯一次,到處可運行”的特性使得它能夠提供一個隨處可用的開放結(jié)構(gòu)和在多平臺之間傳遞信息的低成本方式,特別是Java企業(yè)應(yīng)用編程接口(Java Enterprise API)為企業(yè)計算及電子商務(wù)應(yīng)用系統(tǒng)提供了有關(guān)技術(shù)和豐富的類庫。

主站蜘蛛池模板: 那坡县| 盈江县| 昆山市| 廉江市| 子洲县| 南通市| 乌兰察布市| 凤翔县| 富蕴县| 法库县| 仪征市| 阳江市| 武宣县| 米脂县| 英吉沙县| 迁西县| 丰顺县| 沭阳县| 武威市| 乐昌市| 宁河县| 重庆市| 庆云县| 汉阴县| 商河县| 龙井市| 石泉县| 西丰县| 深圳市| 武隆县| 高雄市| 弋阳县| 元谋县| 高淳县| 开封市| 邯郸市| 江阴市| 新兴县| 日喀则市| 宁海县| 新巴尔虎右旗|