版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第十五章基于Windows的面向?qū)ο笳Z(yǔ)言Java本章概要:自從1995年SUN公司推出了Java語(yǔ)言以來(lái),Java以其純面向?qū)ο蟆⒏咝阅?、分布式、穩(wěn)定性迅速風(fēng)靡世界,特別是Java的跨平臺(tái)性、安全性等特點(diǎn)使得其在電子商務(wù)、Internet網(wǎng)上數(shù)據(jù)庫(kù)及多媒體等各個(gè)方面表現(xiàn)出強(qiáng)大的魅力。本章將結(jié)合實(shí)例介紹Java語(yǔ)言中的一些關(guān)鍵技術(shù)和主要概念。面向?qū)ο蟪绦蛟O(shè)計(jì)第二版講義制作:北京信息工程學(xué)院信息與計(jì)算科學(xué)專業(yè)05141班曹碩本章快速索引面向?qū)ο蟪绦蛟O(shè)計(jì)第二版15.1Java語(yǔ)言的特點(diǎn)15.2Java語(yǔ)言簡(jiǎn)介15.3Java語(yǔ)言與C++語(yǔ)言的不同15.4JVM的概念與規(guī)范15.5Java語(yǔ)言的應(yīng)用15.6小結(jié)15.1Java語(yǔ)言的特點(diǎn)
⒈
Java是目前最好的面向?qū)ο笳Z(yǔ)言,主要表現(xiàn)在:⑴Java語(yǔ)言的封裝性較強(qiáng),因?yàn)镴ava無(wú)全程變量,無(wú)主函數(shù),在Java中絕大部分成員是對(duì)象,只有簡(jiǎn)單的數(shù)字類型、字符類型和布爾類型除外。⑵多態(tài)性就是多種表現(xiàn)形式,具體來(lái)說,可以用“一個(gè)對(duì)外接口,多個(gè)內(nèi)在實(shí)現(xiàn)方法”表示。運(yùn)算符重載(operatoroverload)一直被認(rèn)為是一種優(yōu)秀的多態(tài)機(jī)制體現(xiàn),但由于考慮到它會(huì)使程序變得難以理解,所以Java最后還是把它取消了。⑶繼承是指一個(gè)對(duì)象直接使用另一對(duì)象的屬性和方法。與另外一些面向?qū)ο缶幊陶Z(yǔ)言不同,Java只支持單一繼承。面向?qū)ο蟪绦蛟O(shè)計(jì)第二版15.1Java語(yǔ)言的特點(diǎn)⒉Java的平臺(tái)無(wú)關(guān)性
Java是與平臺(tái)無(wú)關(guān)的語(yǔ)言。用Java寫的應(yīng)用程序不用修改就可在不同的軟硬件平臺(tái)上運(yùn)行。平臺(tái)無(wú)關(guān)有兩種情況: ⑴源代碼級(jí):如C和C++具有一定程度的源代碼級(jí)平臺(tái)無(wú)關(guān),表明用C或C++寫的應(yīng)用程序不用修改只需重新編譯就可以在不同平臺(tái)上運(yùn)行。 ⑵目標(biāo)代碼級(jí):Java主要靠Java虛擬機(jī)(JVM)在目標(biāo)碼級(jí)實(shí)現(xiàn)平臺(tái)無(wú)關(guān)性。JVM是一種抽象機(jī)器,它附著在具體操作系統(tǒng)之上,本身具有一套虛機(jī)器指令,并有自己的棧、寄存器組等。但JVM通常是在軟件上而不是在硬件上實(shí)現(xiàn)。JVM是Java平臺(tái)無(wú)關(guān)的基礎(chǔ),在JVM上,有一個(gè)Java解釋器用來(lái)解釋Java編譯器編譯后的程序。Java編程人員在編寫完軟件后,通過Java編譯器將Java源程序編譯為JVM的字節(jié)代碼。任何一臺(tái)機(jī)器只要配備了Java解釋器,就可以運(yùn)行這個(gè)程序,而不管這種字節(jié)碼是在何種平臺(tái)上生成的。面向?qū)ο蟪绦蛟O(shè)計(jì)第二版15.1Java語(yǔ)言的特點(diǎn)⒊
分布式
分布式包括數(shù)據(jù)分布和操作分布,Java支持客戶機(jī)/服務(wù)器(C/S)計(jì)算模式,因此,它支持這兩種分布性。數(shù)據(jù)分布是指數(shù)據(jù)可以分散在網(wǎng)絡(luò)的不同主機(jī)上。Java提供了一個(gè)叫做URL的對(duì)象,利用這個(gè)對(duì)象,你可以打開并訪問具有相同URL地址上的對(duì)象,訪問方式與訪問本地文件系統(tǒng)相同。操作分布是指把一個(gè)計(jì)算分散在不同主機(jī)上處理。Java的Applet小程序可以從服務(wù)器下載到客戶端,即可以把部分計(jì)算放在客戶端進(jìn)行,提高系統(tǒng)執(zhí)行效率。Java提供了一整套網(wǎng)絡(luò)類庫(kù),開發(fā)人員可以利用類庫(kù)進(jìn)行網(wǎng)絡(luò)程序設(shè)計(jì),方便地實(shí)現(xiàn)Java的分布式特性。面向?qū)ο蟪绦蛟O(shè)計(jì)第二版15.1Java語(yǔ)言的特點(diǎn)⒋可靠性和安全性Java誕生在面向?qū)ο蠹夹g(shù)和網(wǎng)絡(luò)編程技術(shù)逐漸走向成熟的時(shí)期,是比較晚期的一種新型編程語(yǔ)言,它雖然源于C++,但它消除了許多C++中的不可靠因素,同時(shí)也兼顧了網(wǎng)絡(luò)安全方面的問題,表現(xiàn)出較高的可靠性和安全性:⑴Java是強(qiáng)類型的語(yǔ)言,要求顯式的方法聲明,這保證了編譯器可以發(fā)現(xiàn)方法調(diào)用錯(cuò)誤,保證程序更加可靠。⑵Java不支持指針,這杜絕了內(nèi)存的非法訪問。⑶Java的自動(dòng)單元收集防止了內(nèi)存丟失等動(dòng)態(tài)內(nèi)存分配導(dǎo)致的問題。⑷Java解釋器運(yùn)行時(shí)實(shí)施檢查,可以發(fā)現(xiàn)數(shù)組和字符串訪問的越界。⑸Java提供了異常處理機(jī)制,程序員可以把一組處理錯(cuò)誤的代碼放在一個(gè)地方,這樣可以簡(jiǎn)化錯(cuò)誤處理任務(wù),便于恢復(fù)。⑹Java通過自己的安全機(jī)制防止了病毒程序的產(chǎn)生和下載程序?qū)Ρ镜叵到y(tǒng)的威脅破壞。當(dāng)Java字節(jié)碼進(jìn)入解釋器時(shí),首先必須經(jīng)過字節(jié)碼校驗(yàn)器的檢查,然后,Java解釋器將決定程序中類的內(nèi)存布局,隨后,類裝載器負(fù)責(zé)把來(lái)自網(wǎng)絡(luò)的類裝載到單獨(dú)的內(nèi)存區(qū)域,避免應(yīng)用程序之間相互干擾破壞。最后,客戶端用戶還可以限制從網(wǎng)絡(luò)上裝載的類只能訪問某些文件系統(tǒng)。面向?qū)ο蟪绦蛟O(shè)計(jì)第二版15.1Java語(yǔ)言的特點(diǎn)⒌多線程
線程是操作系統(tǒng)的一種新概念,它又被稱為輕量進(jìn)程,是比傳統(tǒng)進(jìn)程更小的可并發(fā)執(zhí)行的單位,是Windows多任務(wù)的一種形式。C++采用單線程體系結(jié)構(gòu),而Java卻提供了多線程支持,體現(xiàn)在下面兩個(gè)方面:⑴一方面,Java環(huán)境本身就是多線程的。若干個(gè)系統(tǒng)線程分別負(fù)責(zé)必要的無(wú)用單元回收,系統(tǒng)維護(hù)等系統(tǒng)級(jí)操作。⑵另一方面,Java語(yǔ)言內(nèi)置多線程控制,可以大大簡(jiǎn)化多線程應(yīng)用程序的開發(fā)。利用Java的多線程編程接口,開發(fā)人員可以方便地寫出支持多線程的應(yīng)用程序,提高程序執(zhí)行效率。注意,Java的多線程支持在一定程度上受運(yùn)行時(shí)支持平臺(tái)的限制。如果操作系統(tǒng)本身不支持多線程,Java的多線程特性可能就表現(xiàn)不出來(lái)。面向?qū)ο蟪绦蛟O(shè)計(jì)第二版15.1Java語(yǔ)言的特點(diǎn)編譯的語(yǔ)言是指一次性地把一個(gè)用高級(jí)語(yǔ)言編寫的源程序翻譯成可以運(yùn)行的目標(biāo)程序,以后翻譯好的目標(biāo)程序作為一個(gè)獨(dú)立的文件可以無(wú)數(shù)次地運(yùn)行。解釋的語(yǔ)言是指對(duì)高級(jí)語(yǔ)言編寫的源程序翻譯一句執(zhí)行一句,翻譯和運(yùn)行過程交叉進(jìn)行,如果要再運(yùn)行一次,那就必須重新翻譯、重新執(zhí)行,翻譯完即執(zhí)行完。這類語(yǔ)言最典型的例子是BASIC。
面向?qū)ο蟪绦蛟O(shè)計(jì)第二版15.1Java語(yǔ)言的特點(diǎn)⒍Java是半編譯半解釋的語(yǔ)言。一個(gè)Java語(yǔ)言源程序要運(yùn)行,必須先由Java編譯器編譯成字節(jié)碼。但這個(gè)編譯過程是不徹底的,因?yàn)樽止?jié)碼不是最終的執(zhí)行程序,不能在具體平臺(tái)上運(yùn)行,而必須再由運(yùn)行系統(tǒng)上的字節(jié)碼解釋器將其翻譯成機(jī)器語(yǔ)言。Java字節(jié)碼解釋器只占40KB的存儲(chǔ)空間,它的工作是邊解釋邊執(zhí)行程序。面向?qū)ο蟪绦蛟O(shè)計(jì)第二版15.1Java語(yǔ)言的特點(diǎn)⒎Java語(yǔ)言的App1et功能及與此相關(guān)的圖形功能Applet是Java特有的一種小應(yīng)用程序。Java系統(tǒng)提供特殊的技術(shù),可以使這種小應(yīng)用程序的功能很方便地加入Internet的網(wǎng)頁(yè)上去,從而使Internet網(wǎng)頁(yè)增加各種圖形效果,包括多媒體功能。正是Applet功能及跨平臺(tái)功能使Java和Internet之間產(chǎn)生了成功的結(jié)合。面向?qū)ο蟪绦蛟O(shè)計(jì)第二版15.2Java語(yǔ)言介紹
15.2.1Java中類的定義Java中,定義一個(gè)類的語(yǔ)法是:[類的修飾字]class類名{
[成員訪問權(quán)控制字]成員(數(shù)據(jù)或方法)}其中,類修飾字可以是abstract,final,public或者沒有。在Java中,如果一個(gè)類沒有說明其父類,就等于是繼承了系統(tǒng)的Object這個(gè)類。也就是說,在Java中所有的類都可以視作是Object類的子類。面向?qū)ο蟪绦蛟O(shè)計(jì)第二版15.2.1Java中類的定義
類修飾字abstract:當(dāng)一個(gè)類中出現(xiàn)了某個(gè)abstract方法,那么這個(gè)類之前也必須加上abstract修飾字。需要注意的是,一旦在類前面加上了這個(gè)修飾字,就不能直接產(chǎn)生屬于這個(gè)類的對(duì)象(有關(guān)內(nèi)容請(qǐng)參考相關(guān)資料)。
類修飾字final:如果一個(gè)類前面加上了final修飾字,那么這個(gè)類就不能被任何其他的類所繼承。這個(gè)修飾字的特殊意義是可以避免已經(jīng)寫好的類程序,被別人繼承以后修改。這也是Java語(yǔ)言為提高安全性而考慮的。
類修飾字public:如果一個(gè)類前面加上了public修飾字,那么這個(gè)類不僅可以被同一個(gè)程序包(package)中的其他類使用,而且其他程序包中的類也可以使用它。如果一個(gè)類沒有public修飾字,則只有在同一個(gè)包中的類才可以使用它。另外,在一個(gè)文件中最多只能有一個(gè)類是public。要注意的是,一個(gè)類可以有兩個(gè)以上的修飾字,但是,final和abstract兩個(gè)修飾字不能同時(shí)擁有。面向?qū)ο蟪绦蛟O(shè)計(jì)第二版15.2.2Java類中的數(shù)據(jù)與方法和C++一樣,在Java的類體也是由數(shù)據(jù)和方法組成的。⒈定義數(shù)據(jù)的語(yǔ)法數(shù)據(jù)成員是用來(lái)描述對(duì)象屬性的。定義數(shù)據(jù)成員和C++相似,但是,在Java中允許在類中給數(shù)據(jù)成員賦初值,如果沒有指定初值,系統(tǒng)會(huì)自動(dòng)給予初值為0。例如:classMyclass{ intm=5,n; floatm-arr[]=newfloat[50]; Stringm-strs=“Java”;}面向?qū)ο蟪绦蛟O(shè)計(jì)第二版15.2.2Java類中的數(shù)據(jù)與方法⒉定義方法的語(yǔ)法方法是用來(lái)描述對(duì)象行為的。定義方法和C++相似,其一般格式:[方法修飾字]方法的返回值類型方法名(形參1,形參2,…){ //方法體}例如:classMyShow{ voidshow() {Systemoutptintln(“Java”);}//輸出字符串Java intf-add(intx,inty){returnx+y;}}面向?qū)ο蟪绦蛟O(shè)計(jì)第二版15.2.2Java類中的數(shù)據(jù)與方法⒊
成員訪問權(quán)限控制
和C++一樣,在Java語(yǔ)言中,對(duì)每個(gè)類成員都進(jìn)行了訪問權(quán)的控制,使用的保留字也是public,protected和private。但是,有一種特殊情況要求讀者注意,即在類成員前面沒有任何修飾字(如前面的例子中),分類如下:⑴public(共有型)在Java語(yǔ)言中,如果一個(gè)數(shù)據(jù)成員或者方法前面加上了public,則允許所有的類訪問,即既允許此成員所在的類訪問,也允許同一個(gè)包中的其他類訪問,還允許其他包中的類訪問。(續(xù))面向?qū)ο蟪绦蛟O(shè)計(jì)第二版⑵protected(保護(hù)型)在Java語(yǔ)言中,保護(hù)型成員允許被歸屬的類、由此類派生的子類以及同一包中的其他類訪問。⑶private(私有型)在Java語(yǔ)言中,私有型成員只能被歸屬的類訪問。⑷privateprotected(專用保護(hù)型)在Java語(yǔ)言中,成員前面同時(shí)冠以privateprotected修飾字,稱為專用保護(hù)型成員,此類成員只允許它歸屬的類和由此類派生的子類訪問。⑸默認(rèn)型(成員前面沒有任何修飾字)在Java語(yǔ)言中,成員前面沒有冠以任何修飾字,稱為默認(rèn)型成員(也稱友好型成員),此類成員除了允許它歸屬的類訪問以外,還可以被同一個(gè)包中的其他類訪問。15.2.2Java類中的數(shù)據(jù)與方法面向?qū)ο蟪绦蛟O(shè)計(jì)第二版15.2.3Java中的繼承性Java語(yǔ)言中構(gòu)造派生類的格式如下:[類修飾符]子類名extends超類類名{ //子類的成員}關(guān)鍵字extends表示子類是由該字后面的類派生而來(lái)的,超類(superclass),又稱基類(baseclass)或父類(parentclass)。和C++一樣,子類以數(shù)據(jù)成員和方法的形式繼承其超類中屬性和行為,子類可以只使用從超類中繼承來(lái)的項(xiàng),也可以覆蓋或隱藏(Overridding)它,同時(shí)子類可以定義自己的類數(shù)據(jù)和方法,因此,沿著類族(classhierarchy)向下,類的功能變得越來(lái)越專用。相反,越向上類的功能就越小,但是,卻越來(lái)越強(qiáng)地反映了類族的共性。面向?qū)ο蟪绦蛟O(shè)計(jì)第二版15.2.3Java中的繼承性例如:publicclassA{ intx; voidshow(){Systemoutpintln(″Java-A″)};}publicclassBextendsA{ intx; voidshow(){Systemoutpintln(″Java-B″)}; voidf-add(inty){returnx+y+superx;}}
其中,是指超類中的x。如果子類的數(shù)據(jù)成員和超類中的數(shù)據(jù)成員同名,則稱子類隱藏了父類的數(shù)據(jù)成員,這種情況下,子類直接使用的是它自己的數(shù)據(jù)成員,而不是父類中的同名數(shù)據(jù)成員,如上例rerurn中的x,有時(shí)為了更加清楚,則采用的形式。面向?qū)ο蟪绦蛟O(shè)計(jì)第二版15.2.4Java中的多態(tài)性在面向?qū)ο笤O(shè)計(jì)中,所謂調(diào)用對(duì)象的方法實(shí)際上是發(fā)送消息給對(duì)象,讓對(duì)象來(lái)執(zhí)行某個(gè)操作。由于面向?qū)ο笾性试S類之間的繼承,同時(shí)允許子類中的方法覆蓋(子類中的方法和父類中的方法的函數(shù)原型完全一致,但函數(shù)實(shí)現(xiàn)的功能不同,如上例中的show方法)超類中的方法,所以對(duì)象需要判斷究竟應(yīng)該使用哪一個(gè)方法。和C++不同,Java實(shí)現(xiàn)多態(tài)性不需要定義虛函數(shù)(Virtualfunction),這是系統(tǒng)自動(dòng)實(shí)現(xiàn)的(即系統(tǒng)自動(dòng)將函數(shù)設(shè)置成虛函數(shù)),如果不希望一個(gè)方法被設(shè)置成虛方法,那么可以在方法定義時(shí)加上修飾符final。面向?qū)ο蟪绦蛟O(shè)計(jì)第二版15.3Java語(yǔ)言與C++語(yǔ)言的不同
⑴
Java中對(duì)內(nèi)存的分配是動(dòng)態(tài)的,它采用面向?qū)ο蟮臋C(jī)制,采用運(yùn)算符new為每個(gè)對(duì)象分配內(nèi)存空間,而且,實(shí)際內(nèi)存還會(huì)隨程序運(yùn)行情況而改變。程序運(yùn)行過程中,Java系統(tǒng)自動(dòng)對(duì)內(nèi)存進(jìn)行掃描,對(duì)長(zhǎng)期不用的內(nèi)存空間作為“垃圾”進(jìn)行收集,使得系統(tǒng)資源得到更充分地利用。面向?qū)ο蟪绦蛟O(shè)計(jì)第二版15.3Java語(yǔ)言與C++語(yǔ)言的不同(2)⑵
Java不在所有類之外定義全局變量,而是在某個(gè)類中定義一種公用靜態(tài)的變量來(lái)完成全局變量的功能。如:classMystaticVar{ publicstaticgloba1-var;};
在MystaticVar這個(gè)類中,定義了一個(gè)公用靜態(tài)變量global-var,其他類可以訪問或修改這個(gè)變量。所以,公用靜態(tài)變量起到了全局變量的作用。由于進(jìn)行了較好的封裝,所以,避免了C++語(yǔ)言中由于全局變量不加封裝而造成的不安全性。面向?qū)ο蟪绦蛟O(shè)計(jì)第二版15.3Java語(yǔ)言與C++語(yǔ)言的不同⑶Java不用goto語(yǔ)句,而用try...catch...final1y異常處理語(yǔ)句來(lái)代替goto語(yǔ)句處理出錯(cuò)的功能。⑷Java不支持頭文件,而C++語(yǔ)言中都用頭文件來(lái)定義類的原型、全局變量、庫(kù)函數(shù)等。這種采用頭文件的結(jié)構(gòu)使得系統(tǒng)的運(yùn)行維護(hù)相當(dāng)繁雜。⑸
Java不支持宏定義,而用關(guān)鍵字final來(lái)定義常量;而在C++中有時(shí)采用宏定義來(lái)實(shí)現(xiàn)常量定義,這不利于程序可讀性。
面向?qū)ο蟪绦蛟O(shè)計(jì)第二版15.3Java語(yǔ)言與C++語(yǔ)言的不同⑹Java對(duì)每種數(shù)據(jù)類型都分配固定長(zhǎng)度。比如,在Java中,int總是32位的;而在C+中,對(duì)于不同的平臺(tái),同一個(gè)數(shù)據(jù)類型分配不同的字節(jié)數(shù),同樣是int,在不同的平臺(tái)上分配的字節(jié)數(shù)有所不同(16位或32位),這對(duì)C++應(yīng)用程序的移植性產(chǎn)生了影響,而Java不必考慮這個(gè)問題。⑺Java不使用指針,從而不存在程序員對(duì)指針進(jìn)行編程的問題??傊?,Java消除了C++麻煩的內(nèi)存管理和一些復(fù)雜的構(gòu)造(如多繼承等)等問題,使得用Java開發(fā)程序比用C++開發(fā)程序更加容易、更加安全、更加可靠了。面向?qū)ο蟪绦蛟O(shè)計(jì)第二版15.4JVM的概念與規(guī)范⒈JVM的概念
Java虛擬機(jī)(JVM,JavaVirtualMachine)是一種假想的計(jì)算機(jī)。從結(jié)構(gòu)上看,它由一組抽象的部件組成,這些部件包括:⑴指令集指令集采用獨(dú)立于平臺(tái)的字節(jié)碼形式。⑵寄存器組寄存器組中包含程序計(jì)數(shù)器、堆棧指針、運(yùn)行環(huán)境指針和變量指針。⑶類文件格式規(guī)定類文件也獨(dú)立于平臺(tái)。⑷堆棧堆棧用來(lái)傳遞參數(shù)和返回運(yùn)行結(jié)果。⑸內(nèi)存垃圾收集器垃圾收集器收集不再使用的內(nèi)存片段。⑹存儲(chǔ)區(qū)存儲(chǔ)區(qū)用來(lái)存放字節(jié)碼。面向?qū)ο蟪绦蛟O(shè)計(jì)第二版15.4JVM的概念與規(guī)范⒉JVM的規(guī)范只有符合JVM規(guī)范的計(jì)算機(jī),才可以作為JVM來(lái)運(yùn)行Java軟件,所以,符合JVM規(guī)范的計(jì)算機(jī)就可以看成是一種Java平臺(tái)。JVM的規(guī)范如下:⑴指令集規(guī)定了Java支持的基本數(shù)據(jù)類型,它們可以是:1字節(jié)、2字節(jié)、4字節(jié)、8字節(jié),也包括浮點(diǎn)數(shù)。⑵JVM只設(shè)置了數(shù)量很少的寄存器,它們是程序計(jì)數(shù)器、堆棧棧頂指針、運(yùn)行環(huán)境指針和局部變量指針。這些寄存器全是32位的。⑶JVM的程序代碼放在文件中,這種文件稱為類文件(.c1ass)。類文件是由編譯器編譯后的字節(jié)碼構(gòu)成的,所以也叫字節(jié)碼文件,它與平臺(tái)無(wú)關(guān)。面向?qū)ο蟪绦蛟O(shè)計(jì)第二版從結(jié)構(gòu)上,類文件的內(nèi)容可以分為四個(gè)部分:①第一部分是標(biāo)志和版本信息部分,每個(gè)類文件都以CAFEBABE開頭,這是類文件的標(biāo)志,接著標(biāo)明Java編譯器的版本號(hào)。②第二部分稱為常數(shù)池,常數(shù)池的前兩個(gè)字節(jié)指出當(dāng)前常數(shù)池中的表項(xiàng)數(shù),接下來(lái)一個(gè)字節(jié)叫標(biāo)簽,它指出常數(shù)類型。其實(shí),常數(shù)池是一系列常數(shù)組成的一個(gè)表,這些常數(shù)可能是字符串、域名、類名以及代碼所引用的常數(shù)等。③第三部分是對(duì)程序中用到的類和方法的說明(有關(guān)類和方法將在后面講述)。④第四部分是由字節(jié)碼表示的程序主體。15.4JVM的概念與規(guī)范面向?qū)ο蟪绦蛟O(shè)計(jì)第二版⑷
JVM采用面向堆棧的機(jī)制,這為只設(shè)置少量寄存器建立了前提。在JVM中,許多指令的操作數(shù)來(lái)自堆棧,操作結(jié)果也放在堆棧中。⑸
Java的內(nèi)存垃圾收集器通常是嵌入運(yùn)行系統(tǒng)的一個(gè)附加程序。它的功能就是不斷地對(duì)內(nèi)存掃描,將那些不再使用的內(nèi)存區(qū)域釋放,使得它們成為可供后面程序使用的區(qū)域。⑹存儲(chǔ)區(qū)是任何一種計(jì)算機(jī)都必須具備的,JVM也不例外。JVM的存儲(chǔ)區(qū)用來(lái)存放字節(jié)碼和各種表格,也為程序翻譯和運(yùn)行提供環(huán)境。15.4JVM的概念與規(guī)范面向?qū)ο蟪绦蛟O(shè)計(jì)第二版15.5Java語(yǔ)言的應(yīng)用
Java的用戶程序分為兩類:1.一般形式的應(yīng)用程序(Application)這類程序通過編譯器編譯以后,就可以由Java解釋器邊解釋邊執(zhí)行,通常說的應(yīng)用程序就是指這
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026吉林白城市通榆縣面向上半年應(yīng)征入伍高校畢業(yè)生招聘事業(yè)單位工作人員4人備考題庫(kù)完整參考答案詳解
- 2025首都醫(yī)科大學(xué)附屬北京天壇醫(yī)院安徽醫(yī)院高層次人才招聘18人備考題庫(kù)含答案詳解
- 2025廣東東東莞中學(xué)洪梅學(xué)校招聘若干名生活老師備考題庫(kù)及參考答案詳解一套
- 2025廣東廣州市市場(chǎng)監(jiān)督管理局直屬事業(yè)單位引進(jìn)急需專業(yè)人才23人備考題庫(kù)帶答案詳解
- 2026安徽皖信人力資源管理有限公司招聘桐城某電力臨時(shí)綜合柜員崗位1人備考題庫(kù)及一套完整答案詳解
- 2025化學(xué)所有機(jī)固體實(shí)驗(yàn)室項(xiàng)目聘用人員招聘?jìng)淇碱}庫(kù)及答案詳解一套
- 2026江西省徳緣堂中醫(yī)館有限公司簽行政助理崗招聘?jìng)淇碱}庫(kù)及答案詳解(新)
- 2025民航上海醫(yī)院(瑞金醫(yī)院古北分院)事業(yè)編制招聘62人備考題庫(kù)及答案詳解(易錯(cuò)題)
- 2026北京市海淀區(qū)中國(guó)人民大學(xué)哲學(xué)院招聘1人備考題庫(kù)及參考答案詳解一套
- 2026廣東深圳市規(guī)劃和自然資源局光明管理局勞務(wù)派遣人員招聘1人備考題庫(kù)及一套參考答案詳解
- 錫圓電子科技有限公司高端半導(dǎo)體封測(cè)項(xiàng)目環(huán)評(píng)資料環(huán)境影響
- GB/T 45356-2025無(wú)壓埋地排污、排水用聚丙烯(PP)管道系統(tǒng)
- 2025既有建筑改造利用消防設(shè)計(jì)審查指南
- 籃球場(chǎng)工程施工設(shè)計(jì)方案
- (市質(zhì)檢二檢)福州市2024-2025學(xué)年高三年級(jí)第二次質(zhì)量檢測(cè) 歷史試卷(含答案)
- 《外科手術(shù)學(xué)基礎(chǔ)》課件
- 化學(xué)-湖南省永州市2024-2025學(xué)年高二上學(xué)期1月期末試題和答案
- 2025年貴安發(fā)展集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- DB33T 1214-2020 建筑裝飾裝修工程施工質(zhì)量驗(yàn)收檢查用表標(biāo)準(zhǔn)
- 高考語(yǔ)文復(fù)習(xí)【知識(shí)精研】鑒賞古代詩(shī)歌抒情方式 課件
- 春運(yùn)志愿者培訓(xùn)
評(píng)論
0/150
提交評(píng)論