資源描述:
《java編程教程》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、JAVA教程?第一講?Java語言概述1.1Java語言的發(fā)展史1.1.1Java語言在互聯(lián)網(wǎng)時代獲得巨大成功 大家想一想,在PC下用windows編寫的程序能夠不做修改就直接拿到UNIX系統(tǒng)上運行嗎?顯然是不可以的,因為程序的執(zhí)行最終必須轉(zhuǎn)換成為計算機硬件的機器指令來執(zhí)行,專門為某種計算機硬件和操作系統(tǒng)編寫的程序是不能夠直接放到另外的計算機硬件上執(zhí)行的,至少要做移植工作。要想讓程序能夠在不同的計算機上能夠運行,就要求程序設(shè)計語言是能夠跨越各種軟件和硬件平臺的,而Java滿足了這一需求。 1995年,美國SunMicrosy
2、stems公司正式向IT業(yè)界推出了java語言,該語言具有安全、跨平臺、面向?qū)ο?、簡單、適用于網(wǎng)絡(luò)等顯著特點,當(dāng)時以web為主要形式的互聯(lián)網(wǎng)正在迅猛發(fā)展,java語言的出現(xiàn)迅速引起所有程序員和軟件公司的極大關(guān)注,程序員們紛紛嘗試用java語言編寫網(wǎng)絡(luò)應(yīng)用程序,并利用網(wǎng)絡(luò)把程序發(fā)布到世界各地進行運行。包括IBM、Oracle、微軟、Netscape、Apple、SGI等大公司紛紛與SunMicrosystems公司簽訂合同,授權(quán)使用java平臺技術(shù)。微軟公司總裁比爾蓋茨先生在經(jīng)過研究后認為"java語言是長時間以來最卓越的程序設(shè)計
3、語言"。目前,java語言已經(jīng)成為最流行的網(wǎng)絡(luò)編程語言,截止到2001年中,全世界大約有310萬java程序員,許多大學(xué)紛紛開設(shè)java課程,Java正逐步成為世界上程序員最多的編程語言?! ≡诮?jīng)歷了以大型機為代表的集中計算模式和以PC機為代表的分散計算模式之后,互聯(lián)網(wǎng)的出現(xiàn)使得計算模式進入了網(wǎng)絡(luò)計算時代。網(wǎng)絡(luò)計算模式的一個特點是計算機是異構(gòu)的,即計算機的類型和操作系統(tǒng)是不一樣的,例如SUN工作站的硬件是SPARC體系,軟件是UNIX中的Solaris操作系統(tǒng),而PC機的硬件是INTEL體系,操作系統(tǒng)是windows或者是Lin
4、ux,因此相應(yīng)的編程語言基本上只是適用于單機系統(tǒng),例如COBOL、FORTRAN、C、C++等等;網(wǎng)絡(luò)計算模式的另一個特點是代碼可以通過網(wǎng)絡(luò)在各種計算機上進行遷移,這就迫切需要一種跨平臺的編程語言,使得用它編寫的程序能夠在網(wǎng)絡(luò)中的各種計算機上能夠正常運行,java就是在這種需求下應(yīng)運而生的。正是因為Java語言符合了互聯(lián)網(wǎng)時代的發(fā)展要求,才使它獲得了巨大的成功。1.1.2Java語言的產(chǎn)生 任何事物的產(chǎn)生既有必然的原因也有偶然的因素,Java語言的出現(xiàn)也驗證了這一點。1991年,美國SunMicrosystems公司的某個研究
5、小組為了能夠在消費電子產(chǎn)品上開發(fā)應(yīng)用程序,積極尋找合適的編程語言。消費電子產(chǎn)品種類繁多,包括PDA、機頂盒、手機等等,即使是同一類消費電子產(chǎn)品所采用的處理芯片和操作系統(tǒng)也不相同,也存在著跨平臺的問題。當(dāng)時最流行的編程語言是C和C++語言,Sun公司的研究人員就考慮是否可以采用C++語言來編寫消費電子產(chǎn)品的應(yīng)用程序,但是研究表明,對于消費電子產(chǎn)品而言C++語言過于復(fù)雜和龐大,并不適用,安全性也并不令人滿意。于是,BillJoy先生領(lǐng)導(dǎo)的研究小組就著手設(shè)計和開發(fā)出一種語言,稱之為Oak。該語言采用了許多C語言的語法,提高了安全性,并
6、且是面向?qū)ο蟮恼Z言,但是Oak語言在商業(yè)上并未獲得成功。時間轉(zhuǎn)到了1995年,互聯(lián)網(wǎng)在世界上蓬勃發(fā)展,Sun公司發(fā)現(xiàn)Oak語言所具有的跨平臺、面向?qū)ο蟆踩愿叩忍攸c非常符合互聯(lián)網(wǎng)的需要,于是改進了該語言的設(shè)計,要達到如下幾個目標(biāo): ◇創(chuàng)建一種面向?qū)ο蟮某绦蛟O(shè)計語言,而不是面向過程的語言; ◇提供一個解釋執(zhí)行的程序運行環(huán)境,是程序代碼獨立于平臺; ◇吸收C和C++的優(yōu)點,使程序員容易掌握; ◇去掉C和C++中影響程序健壯性的部分,使程序更安全,例如指針、內(nèi)存申請和釋放; ◇實現(xiàn)多線程,使得程序能夠同時執(zhí)行多個
7、任務(wù); ◇提供動態(tài)下載程序代碼的機制; ◇提供代碼校驗機制以保證安全性; 最終,Sun公司給該語言取名為Java語言,造就了一代成功的編程語。1.2Java的工作原理1.2.1Java虛擬機(1)???java虛擬機是軟件模擬的計算機,可以在任何處理器上(無論是在計算機中還是在其它電子設(shè)備中)安全并且兼容的執(zhí)行保存在.class文件中的字節(jié)碼。java虛擬機的"機器碼"保存在.class文件中,有時也可以稱之為字節(jié)碼文件。java程序的跨平臺主要是指字節(jié)碼文件可以在任何具有java虛擬機的計算機或者電子設(shè)備上運行,
8、java虛擬機中的java解釋器負責(zé)將字節(jié)碼文件解釋成為特定的機器碼進行運行。java源程序需要通過編譯器編譯成為.class文件(字節(jié)碼文件),Java程序的編譯和執(zhí)行過程??——如圖所示——1.2.1Java虛擬機(2) 但是,java虛擬機的建立需要針對