版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、java基礎(chǔ)方面:1、作用域public,private,protected,以及不寫時(shí)的區(qū)別答:區(qū)別如下:作用域當(dāng)前類同一 package子孫類其他 packagepublicvvvvprotectedvvvxfriendlyvvxxprivatevxxx不寫時(shí)默認(rèn)為friendly2> an ony m ous inner class (匿名內(nèi)部類)是否可以extends(繼承)其它類,是否可以 im plem ents(實(shí)現(xiàn))interface(接口)答:匿名的內(nèi)部類是沒有名字的內(nèi)部類。不能extends (繼承)其它類,但一個(gè)內(nèi)部類可以作為一 個(gè)接口,由另一個(gè)內(nèi)部類實(shí)現(xiàn)3、sta
2、tic nested class 和 inner class的不同答:nested class (一般是c+的說法),inner class (一般是java的說法)。java內(nèi)部類與c +嵌套類最大的不同就在于是否有指向外部的引用上。注:靜態(tài)內(nèi)部類(inner class)意味著 1創(chuàng)建一個(gè)static內(nèi)部類的對(duì)象,不需要一個(gè)外部類對(duì)象,2不能從一個(gè)static內(nèi)部類的一個(gè)對(duì) 象訪問一個(gè)外部類對(duì)彖4、&和& &的|x別答:&是位運(yùn)算符,表示按位與運(yùn)算,&&是邏輯運(yùn)算符,表示邏輯與(and)5、collection 和 collections的區(qū)
3、別答:collection是集合類的上級(jí)接口,繼承與他的接口主要有set和list.collections是針對(duì)集介類的一個(gè)幫助類,他提供一系列靜態(tài)方法實(shí)現(xiàn)對(duì)各種集介的搜索、排序、 線程女全化等操作6、什么時(shí)候用assert答:assertion(斷言)在軟件開發(fā)屮是一種常用的調(diào)試方式,很多開發(fā)語言屮都支持這種機(jī)制。 在實(shí)現(xiàn)中,assertion就是在程序中的一條語句,它對(duì)一個(gè)boolean表達(dá)式進(jìn)行檢查,一個(gè)止確 程序必須保證這個(gè)boolean表達(dá)式的值為true;如果該值為false,說明程序已經(jīng)處丁不正確的 狀態(tài)下,系統(tǒng)將給出警告或退出。一般來說,assertion用于保證程序最基本、關(guān)
4、鍵的正確性。assertion檢查通常在開發(fā)和測試時(shí)開啟。為了提高性能,在軟件發(fā)布后,assertion檢查通常 是關(guān)閉的7、string s = new string(hxyzn);創(chuàng)建了幾個(gè)string object答:兩個(gè),一個(gè)字符對(duì)彖,一個(gè)字符對(duì)彖引用對(duì)彖8、math.round(1 1 .5)等於多少? math.round(-1 1.5)等於多少答:mathound(ll5) = = 12;mathround(ll5) =ll;round方法返回與參數(shù)最接近的長整數(shù),參數(shù)加1/2 jn求其floor9、short s1 = 1 ; s1 = s1 + 1 ;有什么錯(cuò)? short
5、s1 = 1 ; s1 + = 1 ;有什么錯(cuò) 答:short si = 1; si = si + 1; (sl +1運(yùn)算結(jié)果是int型,需要強(qiáng)制轉(zhuǎn)換類型)shorts 1 = 1; si += 1;(可以正確編譯)10、java有沒有g(shù)oto答:java中的保留字,現(xiàn)在沒有在java中使用11、數(shù)組有沒有l(wèi)ength()這個(gè)方法? string有沒有l(wèi)ength()這個(gè)方法答:數(shù)組沒有l(wèi)ength()這個(gè)方法,有l(wèi)ength的丿畠性。string有有l(wèi)ength ()這個(gè)方法12、overload和override的區(qū)別。overloaded的方法是否可以改變返回值的類型答:方法的重寫ove
6、rriding和重載overloading是java多態(tài)性的不同農(nóng)現(xiàn)。重寫overriding是父 類與子類z間多態(tài)性的一種表現(xiàn),重載overloading是一個(gè)類中多態(tài)性的一種表現(xiàn)。如果在子類 中定義某方法與其父類有相同的名稱和參數(shù),我們說該方法被重寫(overriding) o子類的對(duì)象 使用這個(gè)方法時(shí),將調(diào)用子類屮的定義,對(duì)它而言,父類中的定義如同被屏蔽了。如果在一個(gè) 類中定義了多個(gè)同名的方法,它們或有不同的參數(shù)個(gè)數(shù)或有不同的參數(shù)類型,則稱為方法的重載 (overloading)。overloaded的方法是町以改變返回值的類型13、set里的元素是不能重復(fù)的,那么用什么方法來區(qū)分重復(fù)與
7、否呢?是用二二還是equals()? 它們有何區(qū)別答:set里的元素是不能重復(fù)的,那么用iterator ()方法來區(qū)分重復(fù)與否。equals 0是判讀兩個(gè)s et是否和等equals ()和二二方法決定引川值是否指向同一對(duì)象equals ()在類中被覆蓋,為的是當(dāng)兩個(gè)分離 的對(duì)彖的內(nèi)容和類型相配的話,返冋真值14、給我一個(gè)你最常見到的runtim e exception答:常見的運(yùn)行時(shí)杲常冇如下這些arithmeticexception, arraystoreexception, bufferoverf lowexception, bufferunderflowexception, cann
8、otredoexcept i on, cannotundoexcept i on, c lasscastexception, cmmexcepti on, concurrentmodifi cati onexception, domexception, emp tystackexception, lllega1argumentexcept ion, hlegalmonitorstateexception, 11legalpa thstateexception, 1llegalstateexception, imagingopexception, indexoutofboundsexcept i
9、on, missingresourceexception, negativearraysizeexception, nosuchelementexception, nullpointerexception, profiledataexception, providerexception, rasterformatexcep tion, securityexception, systemexception, undeclaredthrowableexception, unmodi fiabl esetexception, unsupportedoperationexception15、error
10、和exception有什么區(qū)別答:error示恢復(fù)不是不可能但很困難的情況下的一種嚴(yán)重問題。比如說內(nèi)存溢出。不町能指望程序能處理這樣的情況exception表示一種設(shè)計(jì)或?qū)崿F(xiàn)問題。也就是說,它表示如果程序運(yùn)行正常,從不會(huì)發(fā)生的 情況16、list, set, map是否繼承自collection接口答:list, set是,map不是17、abstract class和interface有什么區(qū)別答:聲明方法的存在而不去實(shí)現(xiàn)它的類被叫做抽象類(abstract class),它川丁耍創(chuàng)建一個(gè)體 現(xiàn)某些皋本行為的類,并為該類聲明方法,但不能在該類中實(shí)現(xiàn)該類的情況。不能創(chuàng)建abstrac t類的實(shí)
11、例。然而可以創(chuàng)建一個(gè)變量,其類型是一個(gè)抽象類,并讓它指向具體子類的一個(gè)實(shí)例。 不能冇抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。abstract類的了類為它們父類屮的所冇抽彖方法提供實(shí) 現(xiàn),否則它們也是抽彖類為。取而代z,在子類屮實(shí)現(xiàn)該方法。知道其行為的其它類可以在類中 實(shí)現(xiàn)這些方法接口(interface)是抽象類的變體。在接ii中,所有方法都是抽象的。多繼承性可通過實(shí)現(xiàn)這 樣的接口而獲得。接口中的所有方法都是抽象的,沒有一個(gè)有程序體。接口只可以定義static fi nal成員變量。接口的實(shí)現(xiàn)與了類相似,除了該實(shí)現(xiàn)類不能從接口定義屮繼承行為。當(dāng)類實(shí)現(xiàn)特 殊接口時(shí),它定義(即將程序休給予)所有這種接口的方法
12、。然后,它可以在實(shí)現(xiàn)了該接口的類 的任何對(duì)象上調(diào)川接口的方法。由于有抽象類,它允許使川接口名作為引川變雖的類型。通常的 動(dòng)態(tài)聯(lián)編將牛效。引用可以轉(zhuǎn)換到接口類型或從接口類型轉(zhuǎn)換,instanceof運(yùn)算符可以用來決 定某對(duì)彖的類是否實(shí)現(xiàn)了接口1 8> abstract的method是否可同時(shí)是static,是否可同時(shí)是native,是否可同時(shí)是synchronized答:都不能19、接口是否可繼承接口?抽象類是否可實(shí)現(xiàn)(implements)接口?抽象類是否可繼承實(shí)體 類(concrete class)答:接11可以繼承接口。抽象類可以實(shí)現(xiàn)(implemen接口,抽象類是否可繼承實(shí)體類,但
13、前 提是實(shí)體類必須冇明確的構(gòu)造函數(shù)20、構(gòu)造器constructor是否可被override答:構(gòu)造constructor不能被繼承,因此不能重寫overriding,但可以被重載overloading21 >是否可以繼承string類答:string類是final類故不可以繼承22、try 里有一個(gè)return語句,那么緊跟在這個(gè)try后的finally 里的code會(huì)不會(huì)被 執(zhí)行,什么時(shí)候被執(zhí)行,在return前還是后答:會(huì)執(zhí)行,在return*執(zhí)行23、用最有效率的方法算出2乘以8等於幾答:2 << 324>兩個(gè)對(duì)象值相同(x.equals(y) = = true
14、),但卻可有不同的hash code,這句話對(duì)不 對(duì)答:不對(duì),有相同的hash code25、當(dāng)一個(gè)對(duì)象被當(dāng)作參數(shù)傳遞到一個(gè)方法后,此方法可改變這個(gè)對(duì)象的屬性,并可返回變化 后的結(jié)果,那么這里到底是值傳遞還是引用傳遞答:是值傳遞。java編程語言只有值傳遞參數(shù)。當(dāng)一個(gè)對(duì)象實(shí)例作為一個(gè)參數(shù)被傳遞到方法中 時(shí),參數(shù)的值就是對(duì)該對(duì)象的引用。對(duì)象的內(nèi)容可以在被調(diào)用的方法屮改變,但對(duì)彖的引用是永 遠(yuǎn)不會(huì)改變的26、swtich是否能作用在byte上,是否能作用在iong上,是否能作用在string±答:witch (exprl)中,exprl是一個(gè)整數(shù)表達(dá)式。因此傳遞給switch和case語
15、句的參數(shù)應(yīng)該是 int、short、char 或者 byte。long,string 都不能作用于swtich27、array li st 和vector 的區(qū)另 u, hash map和hash table 的區(qū)另 u答:就a rra y li st與vecto r主要從二方面來說.一同步性:vector是線程安全的,也就是說是同步的,而arraylist是線程序不安全的,不是同步的 二數(shù)據(jù)增長:當(dāng)需要增長時(shí),vecto默認(rèn)增長為原來一培,而arraylistj4j是原來的一半就hashmap與h ashtable主要從三方面來說。一歷史原因:hashtable是基于陳舊的dictionar
16、y類的,hashmap是java 1.2引進(jìn)的map接口的一個(gè)實(shí)現(xiàn)二同步性:hashtable是線程安全的,也就是說是同步的,而hashmap是線程序不安全的,不是同步的三值:只有hashmap可以讓你將空值作為一個(gè)表的條目的key或value28、char型變量中能不能存貯一個(gè)中文漢字?為什么?答:是能夠定義成為一個(gè)中文的,因?yàn)閖ava中以u(píng)nicode編碼,一個(gè)char占16個(gè)字節(jié),所以放 一個(gè)中文是沒問題的29、gc是什么?為什么要有g(shù)c答:gc是垃圾收集的意思(gabage collection),內(nèi)存處理是編程人員容易出現(xiàn)問題的地方,忘 記或者錯(cuò)謀的內(nèi)存冋收會(huì)導(dǎo)致程序或系統(tǒng)的不穩(wěn)定甚
17、金冊潰,java提供的gc功能可以自動(dòng)監(jiān)測 對(duì)彖是否超過作用域從而達(dá)到自動(dòng)冋收內(nèi)存的日的,java語言沒有提供帑放己分配內(nèi)存的顯示 操作方法。30、float型float f= 3.4 是否正確?答:不正確。精度不準(zhǔn)確,應(yīng)該用強(qiáng)制類型轉(zhuǎn)換,如下所示:float f=(float)3.431 介紹java中的collection framework(包括如何寫自己的數(shù)據(jù)結(jié)構(gòu))?答:collection framework如下:collection-listi flinkedlisti parraylisti lvectori lstacklsetmap(-hashtable卜 hashmaplw
18、eakhashmapcollection是最基本的集合接口,一個(gè)collection代農(nóng)一組object,即collection的元索(ele men ts)map提供keyjijvalue的映射32、抽象類與接口?答:抽象類與接口都川丁抽象,但是抽象類(java中)可以有口己的部分實(shí)現(xiàn),而接口則完全是 一個(gè)標(biāo)識(shí)(同時(shí)有多重繼承的功能)。java類實(shí)現(xiàn)序例化的方法是實(shí)fpljava.io.serializable接口collection框架中實(shí)現(xiàn)比較要實(shí)現(xiàn)comparable接口和comparator接口33> string與stringbuffer的區(qū)別。答:string的長度是不可變
19、的,stringbuffer的k度是可變的。如果你對(duì)字符串中的內(nèi)容 經(jīng)常進(jìn)行操作,特別是內(nèi)容要修改時(shí),那么®jiistringbuffer,如果最后需要string,那么使 用string buffer的tostring()方法34、談?wù)刦inal, finally, finalize的區(qū)別答:final-修飾符(關(guān)鍵字)如果一個(gè)類被聲明為final,意味著它不能再派生出新的子類,不 能作為父類被繼承。因此一個(gè)類不能既被聲明為abstract的,乂被聲明為final的。將變量或方 法聲明為final,可以保證它們在使丿ii中不被改變。被聲明為final的變量必須在聲明時(shí)給尢初值, 而
20、在以后的引用中只能讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重載 finally一再界常處理時(shí)提供finally塊來執(zhí)行任何清除操作。如果拋出一個(gè)升常,那么相匹配的 catch子句就會(huì)執(zhí)行,然后控制就會(huì)進(jìn)入finally塊(如果有的話)finalize方法名。java技術(shù)允許使用finalize()方法在垃圾收集器將對(duì)彖從內(nèi)存屮清除出去 之前做必要的淸理工作。這個(gè)方法是由垃圾收集器在確定這個(gè)對(duì)彖沒有被引川時(shí)對(duì)這個(gè)對(duì)象調(diào)用 的。它是在object類中定義的,因此所有的類都繼承了它。子類覆蓋finalize()方法以整理 系統(tǒng)資源或者執(zhí)行其他清理工作ofinalize()方法是在
21、垃圾收集器刪除對(duì)象z前對(duì)這個(gè)對(duì)象調(diào)用 的35、面向?qū)ο蟮奶卣饔心男┓矫娲穑褐饕幸韵滤姆蕉撼橄螅撼橄缶褪呛雎砸粋€(gè)主題中與當(dāng)前目標(biāo)無關(guān)的那些方面,以便更充分地注意與當(dāng)前目標(biāo)冇關(guān)的方 而。抽彖并不打算了解全部問題,而只是選擇其中的一部分,暫時(shí)不用部分細(xì)節(jié)。抽象包括兩個(gè) 方面,一是過程抽象,二是數(shù)據(jù)抽彖。2. 繼承:繼承是一種聯(lián)結(jié)類的層次模型,并口允許和鼓勵(lì)類的重用,它提供了一種明確表述共性的方法。 對(duì)彖的一個(gè)新類對(duì)以從現(xiàn)冇的類中派生,這個(gè)過程稱為類繼承。新類繼承了原始類的特性,新類 稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的基類那電 繼承方法和實(shí)例變量,并且類可
22、以修改或増加新的方法使z更適介特殊的需要。3. 封裝:封裝是把過程和數(shù)據(jù)包圍起來,對(duì)數(shù)據(jù)的訪問只能通過己定義的界面。面向?qū)ο笥?jì)算始于這個(gè)基 木概念,即現(xiàn)實(shí)枇界町以被描繪成一系列完全自治、封裝的對(duì)象,這些對(duì)象通過一個(gè)受保護(hù)的接 口訪問其他對(duì)象。4. 多態(tài)性:多態(tài)性是指允許不同類的対象対同一消息作出響應(yīng)。多態(tài)性包括參數(shù)化多態(tài)性和包含多態(tài)性。多 態(tài)性語言具有靈活、抽象、行為共享、代碼共享的優(yōu)勢,很好的解決了應(yīng)用程序函數(shù)同名問題。36、string是最基本的數(shù)據(jù)類型嗎答:基本數(shù)據(jù)類型包扌ijbyte、int> char、long、float、double> boolean和short。ja
23、va. lang. string類是final類型的,因此不可以繼承這個(gè)類、不能修改這個(gè)類。為了提高效率 節(jié)省空間,我們應(yīng)該川stringbuffer類37、int和integer有什么區(qū)別答:java提供兩種不同的類型:引用類型和原始類型(或內(nèi)置類型)。int是java的原始數(shù)據(jù)類 型,integer是java為int提供的封裝類。java為每個(gè)原始類型提供了封裝類。原始類型封裝類,booleanboolean, charcharacter, bytebyte, shortshort, intlnteger, longlong, floatfloat, doubledouble引用類型和原始
24、類型的行為完全不同,并且它們具有不同的語義。引用類型和凍始類型具有不同 的特征和用法,它們包括:大小和速度問題,這種類型以哪種類型的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),當(dāng)引用類型 和原始類型川作某個(gè)類的實(shí)例數(shù)據(jù)時(shí)所指立的缺省值。対象引川實(shí)例變量的缺省值為null,而 原始類型實(shí)例變量的缺省值與它們的類型有關(guān)38、運(yùn)行時(shí)異常與一般異常有何異同答:杲常表示程序運(yùn)行過程屮可能出現(xiàn)的非正常狀態(tài),運(yùn)行時(shí)杲常表示虛擬機(jī)的通常操作屮町能 遇到的異常,是一種常見運(yùn)行錯(cuò)謀。java編譯器要求方法必須聲明拋出可能發(fā)生的非運(yùn)行時(shí)異常, 但是并不要求必須聲明拋出未被捕獲的運(yùn)行時(shí)異常。39、說出array list, vector, lin
25、kedlist的存儲(chǔ)性能和特性答:arraylist和vector都是使用數(shù)組方式存儲(chǔ)數(shù)據(jù),此數(shù)組元素?cái)?shù)大于實(shí)際存儲(chǔ)的數(shù)據(jù)以使增 加和插入元素,它們都允許直接按序號(hào)索引元素,但是插入元素要涉及數(shù)組元素移動(dòng)等內(nèi)存操作, 所以索引數(shù)據(jù)快而插入數(shù)據(jù)慢,vector山于使用了synchronized方法(線程安全),通常性能上 較arraylist差,而linkedlist使用雙向鏈表實(shí)現(xiàn)存儲(chǔ),按序號(hào)索引數(shù)據(jù)需要進(jìn)行前向或后向遍 歷,但是插入數(shù)據(jù)時(shí)只需要記錄本項(xiàng)的前后項(xiàng)即可,所以插入速度較快。40> hashmap和hashtable的區(qū)另u答:hashmap是hashtable的輕量級(jí)實(shí)現(xiàn)(非
26、線程安全的實(shí)現(xiàn)),他們都完成了map接口,主要區(qū) 別在于hashmap允許空(null )鍵值(key),由于非線程安全,效率上可能高于hashtable。 hashmap允許將null作為一個(gè)entry的key或者value,而ilashtable不允許。hashmap把hashtablc的contains方法去掉了,改成containsvalue和containskcy。因?yàn)閏ontain s方法容易讓人引起謀解。ilashtable繼承自dictionary類,而11 ashmap是java 1. 2 引進(jìn)的map interface的一個(gè)實(shí)現(xiàn)。最大的不同是,hashtable的方法是s
27、ynchronize的,而hashmap不是,在多個(gè)線程訪問hashtabl e時(shí),不需要h己為它的方法實(shí)現(xiàn)同步,而hashmap就必須為之提供外同步。hashtable和hashmap采用的hash/rchash算法都大概一樣,所以性能不會(huì)有很大的差異。41、heap和stack有什么區(qū)別答:棧是一種線形集合,英添加和刪除元素的操作應(yīng)在同一段完成。棧按照后進(jìn)先出的方式進(jìn)行 處理。堆是棧的一個(gè)組成元素42、java的接口和c+的虛類的相同和不同處答:由tjava不支持多繼承,而有可能某個(gè)類或?qū)﹀杷J勾ǚ謩e在幾個(gè)類或?qū)﹀枥锒姆椒ɑ驅(qū)?性,現(xiàn)有的單繼承機(jī)制就不能滿足要求。與繼承相比,接口有更高的
28、靈活性,因?yàn)榻涌谥袥]有任 何實(shí)現(xiàn)代碼。當(dāng)一個(gè)類實(shí)現(xiàn)了接口以后,該類要實(shí)現(xiàn)接口里面所冇的方法和屬性,并且接口里面 的屬性在默認(rèn)狀態(tài)下面都是public static,所冇方法默認(rèn)情況下是publ ic. 一個(gè)類可以實(shí)現(xiàn)多個(gè) 接口。43、java中的異常處理機(jī)制的簡單原理和應(yīng)用答:當(dāng)java程序違反了java的語義規(guī)則時(shí),java虛擬機(jī)就會(huì)將發(fā)牛的錯(cuò)課表示為一個(gè)異常。違反 語義規(guī)則包括2種情況。一種是java類庫內(nèi)置的語義檢查。例如數(shù)組下標(biāo)越界,會(huì)引發(fā)indexout ofboundsexcept i on;訪問nu 11的對(duì)象時(shí)會(huì)引發(fā)nul 1 poi nterexcept ion。另一種情況就
29、是java允許 程序員擴(kuò)展這種語義檢查,程序員可以創(chuàng)建自己的異常,并自由選擇在何時(shí)用throw關(guān)鍵字引發(fā) 界常。所有的界常都是java. lang. thowable的子類。43、垃圾回收的優(yōu)點(diǎn)和原理。并考慮2種回收機(jī)制java語言中一個(gè)顯著的特點(diǎn)就是引入了垃圾回收機(jī)制,使c+程序員最頭疼的內(nèi)存管理的問 題迎刃而解,它使得java程序員在編寫程序的時(shí)候不再需要考慮內(nèi)存管理。山于有個(gè)垃圾冋收機(jī) 制,java中的對(duì)象不再有作用域的概念,只有對(duì)彖的引用才有作用域。垃圾冋收可以育效的 防止內(nèi)存泄露,有效的使川可以使丿u的內(nèi)存。垃圾回收器通常是作為一個(gè)單獨(dú)的低級(jí)別的線程運(yùn) 行,不可預(yù)知的情況下對(duì)內(nèi)存堆中
30、已經(jīng)死亡的或者長時(shí)間沒有使用的對(duì)象進(jìn)行淸楚和回收,程序 員不能實(shí)時(shí)的調(diào)用垃圾冋收器對(duì)某個(gè)對(duì)彖或所有對(duì)象述行垃圾冋收。冋收機(jī)制有分代復(fù)制垃圾冋 收和標(biāo)記垃圾回收,増量垃圾回收。44、你所知道的集合類都有哪些?主要方法?答:最常用的集合類是list和mapo list的具體實(shí)現(xiàn)包括arraylist和vector,它們是可 變大小的列表,比較適合構(gòu)建、存儲(chǔ)和操作任何類型對(duì)象的元素列表。list適用于按數(shù)值索引 訪問元素的情形。map提供了一個(gè)更通用的元索存儲(chǔ)方法。map集合類用于存儲(chǔ)元素對(duì)(稱作鍵"和值“),其 中每個(gè)鍵映射到一個(gè)值。45、描述一下jvm加載class文件的原理機(jī)制?答:
31、jvmlp類的裝載是tlclassloader和它的了類來實(shí)現(xiàn)的,java classloader是一個(gè)重要的jav a運(yùn)行時(shí)系統(tǒng)組件。它負(fù)責(zé)在運(yùn)行時(shí)查找和裝入類文件的類。46、排序都有哪幾種方法?請列舉答:排序的方法有:插入排序(直接插入排序、希爾排丿芋),交換排序(冒泡排序、快速排序), 選擇排序(直接選擇排序、堆排序),歸并排序,分配排序(箱排序、基數(shù)排序) 快速排序的偽代碼。/ /使用快速排序方法對(duì)a 0 :n- 1 排序從a 0 :n- 1 中選擇一個(gè)元素作為m i d d 1 e,該元素為支點(diǎn)把余下的元素分割為兩段left和r i g h 使得1 e f t中的元素祁小丁等于支點(diǎn),
32、而right中 的元素都大于等于支點(diǎn)遞歸地使用快速排序方法對(duì)left進(jìn)行排序遞歸地使用快速排序方法對(duì)right進(jìn)行排序所得結(jié)果為1 eft + middle + right47、java語言如何進(jìn)行異常處理,關(guān)鍵字:throws,throw ,try,catch,finally分別代表 什么意義?在try塊中可以拋出異常嗎?答:java通過面向?qū)ο蟮姆椒ㄟM(jìn)行杲常處理,把各種不同的界常進(jìn)行分類,并提供了良好的接口。 在java中,每個(gè)異常都是一個(gè)對(duì)象,它是throwable類或其它子類的實(shí)例。當(dāng)一個(gè)方法出現(xiàn)異常 后便拋出一個(gè)異常對(duì)彖,該對(duì)象中包含育異常信息,調(diào)用這個(gè)對(duì)象的方法可以捕獲到這個(gè)異常并
33、 進(jìn)行處理。java的界常處理是通過5個(gè)關(guān)鍵詞來實(shí)現(xiàn)的:try> catch> throw> throws和finall yo 一般情況下是用try來執(zhí)行一段程序,如果出現(xiàn)異常,系統(tǒng)會(huì)拋出(throws) 個(gè)異常,這時(shí) 候你可以通過它的類型來捕捉(catch)它,或最后(finally)由缺省處理器來處理。用try來指定一塊預(yù)防所冇異常的程序。緊跟在try程序后而,應(yīng)包倉一個(gè)catch子句來指定你 想要捕捉的杲常"的類型。throw語句用來明確地拋出一個(gè)"異常。throws用來標(biāo)明一個(gè)成員函數(shù)可能拋岀的各種異常。finally為確保一段代碼不管發(fā)生什么界常
34、都被執(zhí)行一段代碼??梢栽谝粋€(gè)成員函數(shù)調(diào)用的外而寫一個(gè)try語句,在這個(gè)成員函數(shù)內(nèi)部寫另一個(gè)try語旬保護(hù)其他 代碼。每當(dāng)遇到一個(gè)try語句,異常"的框架就放到堆棧上面,宜到所有的try語句都完成。如果 下一級(jí)的try語句沒有對(duì)某種"界常"進(jìn)行處理,堆棧就會(huì)展開,直到遇到有處理這種"界常"的“ y語句。48、一個(gè)“.java“源文件中是否可以包括多個(gè)類(不是內(nèi)部類)?有什么限制?答:可以。必須只有一個(gè)類名與文件名相同。49、java中有幾種類型的流? jdk為每種類型的流提供了一些抽象類以供繼承,請說出他們 分別是哪些類?答:字節(jié)流,字符流。字節(jié)流繼承于inputstream outputstream,字符流繼承于inputstreamre ader outputstreamwriter0在java, io包中還仔許多其他的流,主要是為了提高性能和使用方便。50. java中會(huì)存在內(nèi)存泄漏嗎,請簡單描述。答:會(huì)。自己實(shí)現(xiàn)堆載的數(shù)據(jù)結(jié)構(gòu)時(shí)有可能會(huì)出現(xiàn)內(nèi)存泄露,可參看effective java.51> java中實(shí)現(xiàn)多態(tài)的機(jī)制是什么?答:方法的重寫overriding和重載overloading是java多態(tài)性的不同表現(xiàn)。重寫overriding是父 類與子類z間多態(tài)性的一種表現(xiàn),重載overloadi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度個(gè)人與公司間代收代付業(yè)務(wù)合同范本3篇
- 2025年度年度城市綠化勞務(wù)承包綜合服務(wù)版合同3篇
- 二零二五年度公司施工隊(duì)高速公路施工合作協(xié)議3篇
- 2025年度航空航天實(shí)驗(yàn)室航天器研發(fā)與制造合同3篇
- 二零二五年度冷庫租賃及冷鏈物流運(yùn)輸保障合同
- 二零二五年度冷鏈運(yùn)輸及冷鏈設(shè)備維修服務(wù)合同
- 二零二五年度航空航天材料研發(fā)全新期權(quán)合同3篇
- 2025年度智能門鎖用戶購買合同3篇
- 二零二五年度金融機(jī)構(gòu)對(duì)賭協(xié)議合同-信貸業(yè)務(wù)與風(fēng)險(xiǎn)控制3篇
- 2025年度人工智能公司合伙人股權(quán)分配與戰(zhàn)略規(guī)劃合同3篇
- 河北省百師聯(lián)盟2023-2024學(xué)年高二上學(xué)期期末大聯(lián)考?xì)v史試題(解析版)
- 2021年四川省涼山州九年級(jí)中考適應(yīng)性考試?yán)砜凭C合(試卷)
- 骨科疼痛的評(píng)估及護(hù)理
- 【MOOC】概率論與數(shù)理統(tǒng)計(jì)-南京郵電大學(xué) 中國大學(xué)慕課MOOC答案
- 2024年度軟件開發(fā)分包合同技術(shù)要求與交底2篇
- 居家養(yǎng)老人員培訓(xùn)管理制度
- 抗菌藥物的合理應(yīng)用培訓(xùn)
- 初三數(shù)學(xué)老師家長會(huì)發(fā)言稿
- 光明乳業(yè)財(cái)務(wù)報(bào)表分析報(bào)告
- 藝體教研組活動(dòng)記錄
- (最新整理)鍋爐過熱蒸汽溫度控制系統(tǒng)方案
評(píng)論
0/150
提交評(píng)論