java面試題大全-基礎(chǔ)方面_第1頁
java面試題大全-基礎(chǔ)方面_第2頁
java面試題大全-基礎(chǔ)方面_第3頁
java面試題大全-基礎(chǔ)方面_第4頁
java面試題大全-基礎(chǔ)方面_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

面試題大全-基礎(chǔ)方面基礎(chǔ)方面:1、作用域,以與不寫時(shí)的區(qū)分答:區(qū)分如下:作用域 當(dāng)前類同一子孫類其他不寫時(shí)默認(rèn)為(匿名內(nèi)部類)是否可以(繼承)其它類,是否可以(實(shí)現(xiàn))(接口)答:匿名的內(nèi)部類是沒出名字的內(nèi)部類。不能(繼承)其它類,但一個(gè)內(nèi)部類可以作為一個(gè)接口,由另一個(gè)內(nèi)部類實(shí)現(xiàn)和的不同答:(一般是的說法),(一般是的說法)。內(nèi)部類與嵌套類最大的不同就在于是否有指向外部的引用上。注:靜態(tài)內(nèi)部類()意味著1創(chuàng)建一個(gè)內(nèi)部類的對象,不須要一個(gè)外部類對象,2不能從一個(gè)內(nèi)部類的一個(gè)對象訪問一個(gè)外部類對象4、&和的區(qū)分答:&是位運(yùn)算符,表示按位與運(yùn)算,是邏輯運(yùn)算符,表示邏輯與()5、和的區(qū)分答:是集合類的上級接口,繼承與他的接口主要有和.是針對集合類的一個(gè)幫助類,他供應(yīng)一系列靜態(tài)方法實(shí)現(xiàn)對各種集合的搜尋、排序、線程平安化等操作6、什么時(shí)候用答:(斷言)在軟件開發(fā)中是一種常用的調(diào)試方式,很多開發(fā)語言中都支持這種機(jī)制。在實(shí)現(xiàn)中,就是在程序中的一條語句,它對一個(gè)表達(dá)式進(jìn)行檢查,一個(gè)正確程序必需保證這個(gè)表達(dá)式的值為;假如該值為,說明程序已經(jīng)處于不正確的狀態(tài)下,系統(tǒng)將給出警告或退出。一般來說,用于保證程序最基本、關(guān)鍵的正確性。檢查通常在開發(fā)和測試時(shí)開啟。為了提高性能,在軟件發(fā)布后,檢查通常是關(guān)閉的7、s=(〃〃);創(chuàng)建了幾個(gè)答:兩個(gè),一個(gè)字符對象,一個(gè)字符對象引用對象8、(11.5)等於多少?(-11.5)等於多少答:(11.5)12(-11.5)11方法返回與參數(shù)最接近的長整數(shù),參數(shù)加1/2后求其9、si=1;si=si+1;有什么錯(cuò)?si=1;si1;有什么錯(cuò)答:si=1;si=si+1;(sl+1運(yùn)算結(jié)果是型,須要強(qiáng)制轉(zhuǎn)換類型)si=1;si1;(可以正確編譯)10、有沒有答:中的保留字,現(xiàn)在沒有在中運(yùn)用11、數(shù)組有沒有()這個(gè)方法?有沒有()這個(gè)方法答:數(shù)組沒有()這個(gè)方法,有的屬性。有有()這個(gè)方法12、和的區(qū)分。的方法是否可以變更返回值的類型答:方法的重寫和重載是多態(tài)性的不同表現(xiàn)。重寫是父類與子類之間多態(tài)性的一種表現(xiàn),重載是一個(gè)類中多態(tài)性的一種表現(xiàn)。假如在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說該方法被重寫()。子類的對象運(yùn)用這個(gè)方法時(shí),將調(diào)用子類中的定義,對它而言,父類中的定義猶如被〃屏蔽〃了。假如在一個(gè)類中定義了多個(gè)同名的方法,它們或有不同的參數(shù)個(gè)數(shù)或有不同的參數(shù)類型,則稱為方法的重載()。的方法是可以變更返回值的類型13、里的元素是不能重復(fù)的,那么用什么方法來區(qū)分重復(fù)與否呢?是用還是()?它們有何區(qū)分答:里的元素是不能重復(fù)的,那么用()方法來區(qū)分重復(fù)與否。()是判讀兩個(gè)是否相等()和方法確定引用值是否指向同一對象()在類中被覆蓋,為的是當(dāng)兩個(gè)分別的對象不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。類的子類為它們父類中的全部抽象方法供應(yīng)實(shí)現(xiàn),否則它們也是抽象類為。取而代之,在子類中實(shí)現(xiàn)該方法。知道其行為的其它類可以在類中實(shí)現(xiàn)這些方法。接口()是抽象類的變體。在接口中,全部方法都是抽象的。多繼承性可通過實(shí)現(xiàn)這樣的接口而獲得。接口中的全部方法都是抽象的,沒有一個(gè)有程序體。接口只可以定義成員變量。接口的實(shí)現(xiàn)與子類相像,除了該實(shí)現(xiàn)類不能從接口定義中繼承行為。當(dāng)類實(shí)現(xiàn)特殊接口時(shí).,它定義(即將程序體賜予)全部這種接口的方法。然后,它可以在實(shí)現(xiàn)了該接口的類的任何對象上調(diào)用接口的方法。由于有抽象類,它允許運(yùn)用接口名作為引用變量的類型。通常的動(dòng)態(tài)聯(lián)編將生效。引用可以轉(zhuǎn)換到接口類型或從接口類型轉(zhuǎn)換,運(yùn)算符可以用來確定某對象的類是否實(shí)現(xiàn)了接口。31,的是否可同時(shí)是,是否可同時(shí)是,是否可同口寸是?都不能32,接口是否可繼承接口?抽象類是否可實(shí)現(xiàn)()接口?抽象類是否可繼承實(shí)體類()?接口可以繼承接口。抽象類可以實(shí)現(xiàn)()接口,抽象類是否可繼承實(shí)體類,但前提是實(shí)體類必需有明確的構(gòu)造函數(shù)。33,啟動(dòng)一個(gè)線程是用()還是()?啟動(dòng)一個(gè)線程是調(diào)用()方法,使線程所代表的虛擬處理機(jī)處于可運(yùn)行狀態(tài),這意味著它可以由調(diào)度并執(zhí)行。這并不意味著線程就會(huì)馬上運(yùn)行。0方法可以產(chǎn)生必需退出的標(biāo)記來停止一個(gè)線程。34,構(gòu)造器是否可被?構(gòu)造器不能被繼承,因此不能重寫,但可以被重載。35,是否可以繼承類?類是類故不行以繼承。36,當(dāng)一個(gè)線程進(jìn)入一個(gè)對象的一個(gè)方法后,其它線程是否可進(jìn)入此對象的其它方法?不能,一個(gè)對象的一個(gè)方法只能由一個(gè)線程訪問。37,{}里有一個(gè)語句,那么緊跟在這個(gè)后的{}里的會(huì)不會(huì)被執(zhí)行,什么時(shí)候被執(zhí)行,在前還是后?會(huì)執(zhí)行,在前執(zhí)行。38,編程題:用最有效率的方法算出2乘以8等於兒?有C背景的程序員特殊喜愛問這種問題。2?339,兩個(gè)對象值相同((y)),但卻可有不同的,這句話對不對?不對,有相同的。40,當(dāng)一個(gè)對象被當(dāng)作參數(shù)傳遞到一個(gè)方法后,此方法可變更這個(gè)對象的屬性,并可返回變更后的結(jié)果,那么這里究竟是值傳遞還是引用傳遞?是值傳遞。編程語言只由值傳遞參數(shù)。當(dāng)一個(gè)對象實(shí)例作為一個(gè)參數(shù)被傳遞到方法中時(shí),參數(shù)的值就是對該對象的引用。對象的內(nèi)容可以在被調(diào)用的方法中變更,但對象的引用是恒久不會(huì)變更的。41,是否能作用在上,是否能作用在上,是否能作用在上?(1)中,1是一個(gè)整數(shù)表達(dá)式。因此傳遞給和語句的參數(shù)應(yīng)當(dāng)是、、或者。都不能作用于。42,編程題:寫一個(gè)出來。模式主要作用是保證在應(yīng)用程序中,一個(gè)類只有一個(gè)實(shí)例存在。一般模式通常有幾種種形式:第一種形式:定義一個(gè)類,它的構(gòu)造函數(shù)為的,它有一個(gè)的的該類變量,在類初始化時(shí)實(shí)例話,通過一個(gè)的方法獲得對它的引用,繼而調(diào)用其中的方法。在自己內(nèi)部定義自己一個(gè)實(shí)例,是不是很驚奇?留意這是只供內(nèi)部調(diào)用這里供應(yīng)了一個(gè)供外部訪問本的靜態(tài)方法,可以干脆訪問其次種形式:這個(gè)方法比上面有所改進(jìn),不用每次都進(jìn)行生成對象,只是第一次運(yùn)用時(shí)生成實(shí)例,提高了效率!其他形式:定義一個(gè)類,它的構(gòu)造函數(shù)為的,全部方法為的。一般認(rèn)為第一種形式要更加平安些和繼承自類,而是1.2引進(jìn)的的一個(gè)實(shí)現(xiàn)允許將作為一個(gè)的或者,而不允許還有就是,把的方法去掉了,改成和。因?yàn)榉椒ê啙嵶屓艘鹫`會(huì)。最大的不同是,的方法是的,而不是,在多個(gè)線程訪問時(shí),不須要自己為它的方法實(shí)現(xiàn)同步,而就必需為之供應(yīng)外同步。和采納的算法都也許一樣,所以性能不會(huì)有很大的差異。.描述一下加載文件的原理機(jī)制?.試舉例說明一個(gè)典型的垃圾回收算法?.請用寫二叉樹算法,實(shí)現(xiàn)添加數(shù)據(jù)形成二又樹功能,并以先序的方式打印出來..請寫一個(gè)程序?qū)崿F(xiàn)線程連接池功能?.給定一個(gè)C語言函數(shù),要求實(shí)現(xiàn)在類中進(jìn)行調(diào)用。48、編一段代碼,實(shí)現(xiàn)在限制臺(tái)輸入一組數(shù)字后,排序后在限制臺(tái)輸出;49、列出某文件夾下的全部文件;50、調(diào)用系統(tǒng)吩咐實(shí)現(xiàn)刪除文件的操作;51、實(shí)現(xiàn)從文件中一次讀出一個(gè)字符的操作;52、列出一些限制流程的方法;53、多線程有哪些狀態(tài)?54、編寫了一個(gè)服務(wù)器端的程序?qū)崿F(xiàn)在客戶端輸入字符然后在限制臺(tái)上顯示,直到輸入〃〃為止,讓你寫出客戶端的程序;55、作用域,以與不寫時(shí)的區(qū)分答:區(qū)分如下:作用域當(dāng)前類同一子孫類其他不寫時(shí)默認(rèn)為56>和的區(qū)分和的區(qū)分答:就與主要從二方面來說.一.同步性是線程平安的,也就是說是同步的,而是線程序擔(dān)憂全的,不是同步的二.數(shù)據(jù)增長:當(dāng)須要增長時(shí)默認(rèn)增長為原來一培,而卻是原來的一半就與主要從三方面來說。一.歷史緣由是基于陳舊的類的,是L2引進(jìn)的接口的一個(gè)實(shí)現(xiàn)二.同步性是線程平安的,也就是說是同步的,而是線程序擔(dān)憂全的,不是同步的三.值:只有可以讓你將空值作為一個(gè)表的條目的或57、型變量中能不能存貯一個(gè)中文漢字?為什么?答:是能夠定義成為一個(gè)中文的,因?yàn)橹幸跃幋a,一個(gè)占16個(gè)字節(jié),所以放一個(gè)中文是沒問題的58、多線程有幾種實(shí)現(xiàn)方法,都是什么?同步有幾種實(shí)現(xiàn)方法,都是什么?答:多線程有兩種實(shí)現(xiàn)方法,分別是繼承類與實(shí)現(xiàn)接口同步的實(shí)現(xiàn)方面有兩種,分別是與59、垃圾向收機(jī)制,如何優(yōu)化程序?希望大家補(bǔ)上,感謝60、型3.4是否正確?答:不正確。精度不精確,應(yīng)當(dāng)用強(qiáng)制類型轉(zhuǎn)換,如下所示:()3.461、介紹中的(包括如何寫自己的數(shù)據(jù)結(jié)構(gòu))?答:如下:是最基本的集合接口,一個(gè)代表一組,即的元素()供應(yīng)到的映射62、中異樣處理機(jī)制,事務(wù)機(jī)制?11、中的多形與繼承?希望大家補(bǔ)上,感謝63、抽象類與接口?答:抽象類與接口都用于抽象,但是抽象類(中)可以有自己的部分實(shí)現(xiàn),而接口則完全是一個(gè)標(biāo)識(同時(shí)有多重繼承的功能)。編程題:1.現(xiàn)在輸入n個(gè)數(shù)字,以逗號,分開;然后可選擇升或者降序排序;按提交鍵就在另一頁面顯示按什么排序,結(jié)果為,,供應(yīng)答案(1) [](){0;[i]=0;循環(huán)遍歷數(shù)組(s)變成類型組成數(shù)組(□a),a數(shù)組升序降序可以從尾部起先輸出2.金額轉(zhuǎn)換,阿拉伯?dāng)?shù)字的金額轉(zhuǎn)換成中國傳統(tǒng)的形式如:(¥1011)->(一千零一拾一元整)輸出。3、繼承時(shí)候類的執(zhí)行依次問題,一般都是選擇題,問你將會(huì)打印出什么?答:父類:子類:輸出結(jié)果:C:>4、內(nèi)部類的實(shí)現(xiàn)方式?答:示例代碼如下:輸出結(jié)果:C:>再一個(gè)例題:dl=1.0;的內(nèi)容和類型相配的話,返回真值14、給我一個(gè)你最常見到的答:常見的運(yùn)行時(shí)異樣有如下這些,,,,,,,,,,,,,,,,,,,,,,,,,,,,15、和有什么區(qū)分答:表示復(fù)原不是不行能但很困難的狀況下的一種嚴(yán)峻問題。比如說內(nèi)存溢出。不行能希望程序能處理這樣的狀況表示一?種設(shè)計(jì)或?qū)崿F(xiàn)問題。也就是說,它表示假如程序運(yùn)行正常,從不會(huì)發(fā)生的狀況16、,,是否繼承自接口答:,是,不是17、和有什么區(qū)分答:聲明方法的存在而不去實(shí)現(xiàn)它的類被叫做抽象類(),它用于要?jiǎng)?chuàng)建一個(gè)體現(xiàn)某些基本行為的類,并為該類聲明方法,但不能在該類中實(shí)現(xiàn)該類的狀況。不能創(chuàng)建類的實(shí)例。然而可以創(chuàng)建一個(gè)變量,其類型是一個(gè)抽象類,并讓它指向詳細(xì)子類的一個(gè)實(shí)例。不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。類的子類為它們父類中的全部抽象方法供應(yīng)實(shí)現(xiàn),否則它們也是抽象類為。取而代之,在子類中實(shí)現(xiàn)該方法。知道其行為的其它類可以在類中實(shí)現(xiàn)這些方法接口O是抽象類的變體。在接口中,全部方法都是抽象的。多繼承性可通過實(shí)現(xiàn)這樣的接口而獲得。接口中的全部方法都是抽象的,沒有一個(gè)有程序體。接口只可以定義成員變量。接口的實(shí)現(xiàn)與子類相像,除了該實(shí)現(xiàn)類不能從接口定義中繼承行為。當(dāng)類實(shí)現(xiàn)特殊接口時(shí),它定義(即將程序體賜予)全部這種接口的方法。然后,它可以在實(shí)現(xiàn)了該接口的類的任何對象上調(diào)用接口的方法。由于有抽象類,它允許運(yùn)用接口名作為引用變量的類型。通常的動(dòng)態(tài)聯(lián)編將生效。引用可以轉(zhuǎn)換到接口類型或從接口類型轉(zhuǎn)換,運(yùn)算符可以用來確定某對象的類是否實(shí)現(xiàn)了接口18、的是否可同時(shí)是,是否可同時(shí)是,是否可同時(shí)是答:都不能19、接口是否可繼承接口?抽象類是否可實(shí)現(xiàn)()接口?抽象類是否可繼承實(shí)體類()答:接口可以繼承接口。抽象類可以實(shí)現(xiàn)()接口,抽象類是否可繼承實(shí)體類,但前提是實(shí)體類必需有明確的構(gòu)造函數(shù)20、構(gòu)造器是否可被答:構(gòu)造器不能被繼承,因此不能重寫,但可以被重載21、是否可以繼承類答:類是類故不行以繼承22、{}里有一個(gè)語句,那么緊跟在這個(gè)后的{}里的會(huì)不會(huì)被執(zhí)行,什么時(shí)候被執(zhí)行,在前還是后答-會(huì)執(zhí)行,在前執(zhí)行23:向最有效率的方法算出2乘以8等於兒答:2<<324、兩個(gè)對象值相同((y)),但卻可有不同的,這句話對不對答:不對,有相同的25、當(dāng)一個(gè)對象被當(dāng)作參數(shù)傳遞到一個(gè)方法后,此方法可變更這個(gè)對象的屬性,并可返回變更后的結(jié)果,那么這里究竟是值傳遞還是引用傳遞答:是值傳遞。編程語言只有值傳遞參數(shù)。當(dāng)一個(gè)對象實(shí)例作為一個(gè)參數(shù)被傳遞到方法中時(shí),參數(shù)的值就是對該對象的引用。對象的內(nèi)容可以在被調(diào)用的方法中變更,但對象的引用是恒久不會(huì)變更的26、是否能作用在上,是否能作用在上,是否能作用在上答:(1)中,1是一個(gè)整數(shù)表達(dá)式。因此傳遞給和語句的參數(shù)應(yīng)當(dāng)是、、或者。都不能作用于27、和的區(qū)分和的區(qū)分答:就與主要從二方面來說.一.同步性是線程平安的,也就是說是同步的,而是線程序擔(dān)憂全的,不是同步的二.數(shù)據(jù)增長:當(dāng)須要增長時(shí)默認(rèn)增長為原來一培,而卻是原來的一半就與主要從三方面來說。一.歷史緣由是基于陳舊的類的,是1.2引進(jìn)的接口的一個(gè)實(shí)現(xiàn)二.同步性是線程平安的,也就是說是同步的,而是線程序擔(dān)憂全的,不是同步的三.值:只有可以讓你將空值作為一個(gè)表的條目的或28、型變量中能不能存貯一個(gè)中文漢字?為什么?答:是能夠定義成為一個(gè)中文的,因?yàn)橹幸跃幋a,一個(gè)占16個(gè)字節(jié),所以放一個(gè)中文是沒問題的29^是什么?為什么要有答:是垃圾收集的意思(),內(nèi)存處理是編程人員簡潔出現(xiàn)問題的地方,遺忘或者錯(cuò)誤的內(nèi)存回收會(huì)導(dǎo)致程序或系統(tǒng)的不穩(wěn)定甚至崩潰,供應(yīng)的功能可以自動(dòng)監(jiān)測對象是否超過作用域從而達(dá)到自動(dòng)回收內(nèi)存的目的,語言沒有供應(yīng)釋放已安排內(nèi)存的顯示操作方法。30、型3.4是否正確?答:不正確。精度不精確,應(yīng)當(dāng)用強(qiáng)制類型轉(zhuǎn)換,如下所示:()3.431、介紹中的(包括如何寫自己的數(shù)據(jù)結(jié)構(gòu))?答:如下:是最基本的集合接口,一個(gè)代表一組,即的元素()供應(yīng)到的映射32、抽象類與接口?答:抽象類與接口都用于抽象,但是抽象類(中)可以有自己的部分實(shí)現(xiàn),而接口則完全是一個(gè)標(biāo)識(同時(shí)有多重繼承的功能)。類實(shí)現(xiàn)序例化的方法是實(shí)現(xiàn)接口框架中實(shí)現(xiàn)比較要實(shí)現(xiàn)接口和接口33、與的區(qū)分。答:的長度是不行變的,的長度是可變的。假如你對字符串中的內(nèi)容常常進(jìn)行操作,特殊是內(nèi)容要修改時(shí),那么運(yùn)用,假如最終須要,那么運(yùn)用的()方法34、談?wù)?,,的區(qū)分答:?修飾符(關(guān)鍵字)假如一個(gè)類被聲明為,意味著它不能再派生出新的子類,不能作為父類被繼承。因此一個(gè)類不能既被聲明為的,又被聲明為的。將變量或方法聲明為,可以保證它們在運(yùn)用中不被變更。被聲明為的變量必需在聲明時(shí)給定初值,而在以后的引用中只能讀取,不行修改。被聲明為的方法也同樣只能運(yùn)用,不能重載?再異樣處理時(shí)供應(yīng)塊來執(zhí)行任何清除操作。假如拋出一個(gè)異樣,那么相匹配的子句就會(huì)執(zhí)行,然后限制就會(huì)進(jìn)入塊(假如有的話)?方法名。技術(shù)允許運(yùn)用0方法在垃圾收集器將對象從內(nèi)存中清除出去之前做必要的清理工作。這個(gè)方法是由垃圾收集器在確定這個(gè)對象沒有被引用時(shí)對這個(gè)對象調(diào)用的。它是在類中定義的,因此全部的類都繼承了它。子類覆蓋。方法以整理系統(tǒng)資源或者執(zhí)行其他清理工作。()方法是在垃圾收集器刪除對象之前對這個(gè)對象調(diào)用的35、面對對象的特征有哪些方面答:主要有以下四方面:.抽象:抽象就是忽視一個(gè)主題中與當(dāng)前目標(biāo)無關(guān)的那些方面,以便更充分地留意與當(dāng)前目標(biāo)有關(guān)的方面。抽象并不準(zhǔn)備了解全部問題,而只是選擇其中的一部分,短暫不用部分細(xì)微環(huán)節(jié)。抽象包括兩個(gè)方面,一是過程抽象,二是數(shù)據(jù)抽象。.繼承:繼承是一種聯(lián)結(jié)類的層次模型,并且允許和激勵(lì)類的重用,它供應(yīng)了一種明確表述共性的方法。對象的一個(gè)新類可以從現(xiàn)有的類中派生,這個(gè)過程稱為類繼承。新類繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的基類那里繼承方法和實(shí)例變量,并且類可以修改或增加新的方法使之更適合特殊的須要。.封裝:封裝是把過程和數(shù)據(jù)包圍起來,對數(shù)據(jù)的訪問只能通過己定義的界面。而對對象計(jì)算始于這個(gè)基本概念,即現(xiàn)實(shí)世界可以被描繪成一系列完全自治、封裝的對象,這些對象通過一個(gè)受愛護(hù)的接口訪問其他對象。.多態(tài)性:多態(tài)性是指允許不同類的對象對同一消息作出響應(yīng)。多態(tài)性包括參數(shù)化多態(tài)性和包含多態(tài)性。多態(tài)性語言具有敏捷、抽象、行為共享、代碼共享的優(yōu)勢,很好的解決了應(yīng)用程序函數(shù)同名問題。36、是最基本的數(shù)據(jù)類型嗎答:基本數(shù)據(jù)類型包括和。類是類型的,因此不行以繼承這個(gè)類、不能修改這個(gè)類。為了提高效率節(jié)約空間,我們應(yīng)當(dāng)用類37、和有什么區(qū)分答:供應(yīng)兩種不同的類型:引用類型和原始類型(或內(nèi)置類型)。是的原始數(shù)據(jù)類型,是為供應(yīng)的封裝類。為每個(gè)原始類型供應(yīng)了封裝類。原始類型封裝類引用類型和原始類型的行為完全不同,并且它們具有不同的語義。引用類型和原始類型具有不同的特征和用法,它們包括:大小和速度問題,這種類型以哪種類型的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),當(dāng)引用類型和原始類型用作某個(gè)類的實(shí)例數(shù)據(jù)時(shí)所指定的缺省值。對象引用實(shí)例變量的缺省值為,而原始類型實(shí)例變量的缺省值與它們的類型有關(guān)38、運(yùn)行時(shí)異樣與一般異樣有何異同答:異樣表示程序運(yùn)行過程中可能出現(xiàn)的非正常狀態(tài),運(yùn)行時(shí)異樣表示虛擬機(jī)的通常操作中可能遇到的異樣,是一種常見運(yùn)行錯(cuò)誤。編譯器要求方法必需聲明拋出可能發(fā)生的非運(yùn)行時(shí)異樣,但是并不要求必需聲明拋出未被捕獲的運(yùn)行時(shí)異樣。39、說出,的存儲(chǔ)性能和特性答:和都是運(yùn)用數(shù)組方式存儲(chǔ)數(shù)據(jù),此數(shù)組元素?cái)?shù)大于實(shí)際存儲(chǔ)的數(shù)據(jù)以便增加和插入元素,它們都允許干脆按序號索引元素,但是插入元素要涉與數(shù)組元素移動(dòng)等內(nèi)存操作,所以索引數(shù)據(jù)快而插入數(shù)據(jù)慢,由于運(yùn)用了方法(線程平安),通常性能上較差,而運(yùn)用雙向鏈表實(shí)現(xiàn)存儲(chǔ),按序號索引數(shù)據(jù)須要進(jìn)行前向或后向遍歷,但是插入數(shù)據(jù)時(shí)只須要記錄本項(xiàng)的前后項(xiàng)即可,所以插入速度較快。40、和的區(qū)分答:是的輕量級實(shí)現(xiàn)(非線程平安的實(shí)現(xiàn)),他們都完成了接口,主要區(qū)分在于允許空()鍵值(),由于非線程平安,效率上可能高于。允許將作為一個(gè)的或者,而不允許。把的方法去掉了,改成和。因?yàn)榉椒ê啙嵶屓艘鹫`會(huì)。繼承自類,而是L2引進(jìn)的的一個(gè)實(shí)現(xiàn)。最大的不同是,的方法是的,而不是,在多個(gè)線程訪問時(shí),不須要自己為它的方法實(shí)現(xiàn)同步,而就必需為之供應(yīng)外同步。和采納的算法都也許一樣,所以性能不會(huì)有很大的差異。41、和有什么區(qū)分答:棧是一種線形集合,其添加和刪除元素的操作應(yīng)在同一段完成。棧根據(jù)后進(jìn)先出的方式進(jìn)行處理。堆是棧的一個(gè)組成元素42、的接口和的虛類的相同和不同處答:由于不支持多繼承,而有可能某個(gè)類或?qū)ο笠\(yùn)用分別在幾個(gè)類或?qū)ο罄锩娴姆椒ɑ驅(qū)傩?,現(xiàn)有的單繼承機(jī)制就不能滿意要求。與繼承相比,接口有更高的敏捷性,因?yàn)榻涌谥袥]有任何實(shí)現(xiàn)代碼。當(dāng)一個(gè)類實(shí)現(xiàn)了接口以后,該類要實(shí)現(xiàn)接口里面全部的方法和屬性,并且接口里面的屬性在默認(rèn)狀態(tài)下面都是,全部方法默認(rèn)狀況下是.一個(gè)類可以實(shí)現(xiàn)多個(gè)接口。43、中的異樣處理機(jī)制的簡潔原理和應(yīng)用答:當(dāng)程序違反了的語義規(guī)則時(shí),虛擬機(jī)就會(huì)將發(fā)生的錯(cuò)誤表示為一個(gè)異樣。違反語義規(guī)則包括2種狀況。一種是類庫內(nèi)置的語義檢查。例如數(shù)組下標(biāo)越界,會(huì)引發(fā);訪問的對象時(shí)會(huì)引發(fā)。另一種狀況就是允許程序員擴(kuò)展這種語義檢查,程序員可以創(chuàng)建自己的異樣,并自由選擇在何時(shí)用關(guān)鍵字引發(fā)異樣。全部的異樣都是的子類。43、垃圾回收的優(yōu)點(diǎn)和原理。并考慮2種回收機(jī)制答:語言中一個(gè)顯著的特點(diǎn)就是引入了垃圾回收機(jī)制,使程序員最頭疼的內(nèi)存管理的問題迎刃而解,它使得程序員在編寫程序的時(shí)候不再須要考慮內(nèi)存管理。由于有個(gè)垃圾回收機(jī)制,中的對象不再有〃作用域〃的概念,只有對象的引用才有〃作用域〃。垃圾回收可以有效的防止內(nèi)存泄露,有效的運(yùn)用可以運(yùn)用的內(nèi)存。垃圾回收器通常是作為一個(gè)單獨(dú)的低級別的線程運(yùn)行,不行預(yù)知的狀況下對內(nèi)存堆中已經(jīng)死亡的或者長時(shí)間沒有運(yùn)用的對象進(jìn)行清晰和回收,程序員不能實(shí)時(shí)的調(diào)用垃圾回收器對某個(gè)對象或全部對象進(jìn)行垃圾回收?;厥諜C(jī)制有分代復(fù)制垃圾回收和標(biāo)記垃圾回收,增量垃圾回收。44、你所知道的集合類都有哪些?主要方法?答:最常用的集合類是和。的詳細(xì)實(shí)現(xiàn)包括和,它們是可變大小的列表,比較適合構(gòu)建、存儲(chǔ)和操作任何類型對象的元素列表。適用于按數(shù)值索引訪問元素的情形。供應(yīng)了一個(gè)更通用的元素存儲(chǔ)方法。集合類用于存儲(chǔ)元素對(稱作〃鍵〃和〃值〃),其中每個(gè)鍵映射到一個(gè)值。45、描述一下加載文件的原理機(jī)制?答:中類的裝載是由和它的子類來實(shí)現(xiàn)的是一個(gè)重要的運(yùn)行時(shí)系統(tǒng)組件。它負(fù)責(zé)在運(yùn)行時(shí)查找和裝入類文件的類。46、排序都有哪幾種方法?請列舉答:排序的方法有:插入排序(干脆插入排序、希爾排序),交換排序(冒泡排序、快速排序),選擇排序(干脆選擇排序、堆排序),歸并排序,安排排序(箱排序、基數(shù)排序)快速排序的偽代碼。//運(yùn)用快速排序方法對近01]排序從a[01]中選擇一個(gè)元素作為hiidd1e,該元素為支點(diǎn)把余下的元素分割為兩段和righ3使得1eft中的元素都小于等于支點(diǎn),而中的元素都大于等于支點(diǎn)遞歸地運(yùn)用快速排序方法對進(jìn)行排序遞歸地運(yùn)用快速排序方法對進(jìn)行排序所得結(jié)果為left+middle+right47、語言如何進(jìn)行異樣處理,關(guān)鍵字:分別代表什么意義?在塊中可以拋出異樣嗎?答:通過面對對象的方法進(jìn)行異樣處理,把各種不同的異樣進(jìn)行分類,并供應(yīng)了良好的接口。在中,每個(gè)異樣都是一個(gè)對象,它是類或其它子類的實(shí)例。當(dāng)一個(gè)方法出現(xiàn)異樣后便拋出一個(gè)異樣對象,該對象中包含有異樣信息,調(diào)用這個(gè)對象的方法可以捕獲到這個(gè)異樣并進(jìn)行處理。的異樣處理是通過5個(gè)關(guān)鍵詞來實(shí)現(xiàn)的:、、、和。一般狀況下是用來執(zhí)行一段程序,假如出現(xiàn)異樣,系統(tǒng)會(huì)拋出()一個(gè)異樣,這時(shí)候你可以通過它的類型來捕獲()它,或最終()由缺省處理器來處理。用來指定一塊預(yù)防全部〃異樣〃的程序。緊跟在程序后面,應(yīng)包含一個(gè)子句來指定你想要捕獲的〃異樣〃的類型。語句用來明確地拋出一個(gè)〃異樣〃。用來標(biāo)明一個(gè)成員函數(shù)可能拋出的各種〃異樣〃。為確保一段代碼不管發(fā)生什么〃異樣〃都被執(zhí)行一段代碼。可以在一個(gè)成員函數(shù)調(diào)用的外面寫一個(gè)語句,在這個(gè)成員函數(shù)內(nèi)部寫另一個(gè)語句愛護(hù)其他代碼。每當(dāng)遇到一個(gè)語句,〃異樣〃的框架就放到堆棧上面,直到全部的語句都完成。假如下一級的語句沒有對某種〃異樣〃進(jìn)行處理,堆棧就會(huì)綻開,直到遇到有處理這種〃異樣〃的語句。48、一個(gè)〃〃源文件中是否可以包括多個(gè)類(不是內(nèi)部類)?有什么限制?答:可以。必需只有一個(gè)類名與文件名相同。49、中有幾種類型的流?為每種類型的流供應(yīng)了一些抽象類以供繼承,請說出他們分別是哪些類?答:字節(jié)流,字符流。字節(jié)流繼承于,字符流繼承于。在包中還有很多其他的流,主要是為了提高性能和運(yùn)用便利。50、中會(huì)存在內(nèi)存泄漏嗎,請簡潔描述。答:會(huì)。自己實(shí)現(xiàn)堆載的數(shù)據(jù)結(jié)構(gòu)時(shí)有可能會(huì)出現(xiàn)內(nèi)存泄露,可參看.51、中實(shí)現(xiàn)多態(tài)的機(jī)制是什么?答:方法的重寫和重載是多態(tài)性的不同表現(xiàn)。重寫是父類與子類之間多態(tài)性的一種表現(xiàn),重載是一個(gè)類中多態(tài)性的一種表現(xiàn)。52、垃圾回收器的基本原理是什么?垃圾回收器可以立刻回收內(nèi)存嗎?有什么方法主動(dòng)通知虛擬機(jī)進(jìn)行垃圾回收答:對于來說,當(dāng)程序員創(chuàng)建對象時(shí),就起先監(jiān)控這個(gè)對象的地址、大小以與運(yùn)用狀況。通常,采納有向圖的方式記錄和管理堆()中的全部對象。通過這種方式確定哪些對象是〃可達(dá)的〃,哪些對象是〃不行達(dá)的〃。當(dāng)確定一些對象為〃不行達(dá)〃時(shí),就有責(zé)任回收這些內(nèi)存空間。可以。程序員可以手動(dòng)執(zhí)行(),通知運(yùn)行,但是語言規(guī)范并不保證肯定會(huì)執(zhí)行。53、靜態(tài)變量和實(shí)例變量的區(qū)分?答:i=10;常量Aa;=10可變54、什么是序列化,如何實(shí)現(xiàn)序列化?答:序列化就是一種用來處理對象流的機(jī)制,所謂對象流也就是將對象的內(nèi)容進(jìn)行流化。可以對流化后的對.象進(jìn)行讀寫操作,也可將流化后的對象傳輸于網(wǎng)絡(luò)之間。序列化是為了解決在對對象流進(jìn)行讀寫操作時(shí)所引發(fā)的問題。序列化的實(shí)現(xiàn):將須要被序列化的類實(shí)現(xiàn)接口,該接口沒有須要實(shí)現(xiàn)的方法,只是為了標(biāo)注該對象是可被序列化的,然后運(yùn)用一個(gè)輸出流(如:)來構(gòu)造一個(gè)(對象流)對象,接著,運(yùn)用對象的()方法就可以將參數(shù)為的對象寫出(即保存其狀態(tài)),要復(fù)原的話則用輸入流。55、是否可以從一個(gè)方法內(nèi)部發(fā)出對非方法的調(diào)用?答:不行以,假如其中包含對象的();不能保證對象初始化.56、寫()方法時(shí),通常都有一行代碼,是什么?答:有缺省行為,();他負(fù)責(zé)產(chǎn)生正確大小的空間,并逐位復(fù)制。57、在中,如何跳出當(dāng)前的多重嵌套循環(huán)?答:用;方法。58、、、三個(gè)接口,存取元素時(shí),各有什么特點(diǎn)?答:以特定次序來持有元素,可有重復(fù)元素。無法擁有重復(fù)元素,內(nèi)部排序。保存值,可多值。59、說出一些常用的類,包,接口,請各舉5個(gè)答:常用的類:常用的包:常用的接口:面試題集基礎(chǔ)學(xué)問:1或中的異樣處理機(jī)制的簡潔原理和應(yīng)用。當(dāng)程序違反了的語義規(guī)則時(shí),虛擬機(jī)就會(huì)將發(fā)生的錯(cuò)誤表示為一個(gè)異樣。違反語義規(guī)則包括2種狀況。一種是類庫內(nèi)置的語義檢查。例如數(shù)組下標(biāo)越界,會(huì)引發(fā);訪問的對象時(shí)會(huì)引發(fā)。另一種狀況就是允許程序員擴(kuò)展這種語義檢查,程序員可以創(chuàng)建自己的異樣,并自由選擇在何時(shí)用關(guān)鍵字引發(fā)異樣。全部的異樣都是的子類。.的接口和的虛類的相同和不同處。由于不支持多繼承,而有可能某個(gè)類或?qū)ο笠\(yùn)用分別在幾個(gè)類或?qū)ο罄锩娴姆椒ɑ驅(qū)傩裕F(xiàn)有的單繼承機(jī)制就不能滿意要求。與繼承相比,接口有更高的敏捷性,因?yàn)榻涌谥袥]有任何實(shí)現(xiàn)代碼。當(dāng)一個(gè)類實(shí)現(xiàn)了接口以后,該類要實(shí)現(xiàn)接口里面全部的方法和屬性,并且接口里面的屬性在默認(rèn)狀態(tài)下面都是,全部方法默認(rèn)狀況下是.一個(gè)類可以實(shí)現(xiàn)多個(gè)接口。.垃圾回收的優(yōu)點(diǎn)和原理。并考慮2種回收機(jī)制。語言中一個(gè)顯著的特點(diǎn)就是引入了垃圾回收機(jī)制,使程序員最頭疼的內(nèi)存管理的問題迎刃而解,它使得程序員在編寫程序的時(shí)候不再須要考慮內(nèi)存管理。由于有個(gè)垃圾回收機(jī)制,中的對象不再有〃作用域〃的概念,只有對象的引用才有〃作用域〃。垃圾回收可以有效的防止內(nèi)存泄露,有效的運(yùn)用可以運(yùn)用的內(nèi)存。垃圾回收器通常是作為一個(gè)單獨(dú)的低級別的線程運(yùn)行,不行預(yù)知的狀況下對內(nèi)存堆中已經(jīng)死亡的或者長時(shí)間沒有運(yùn)用的對象進(jìn)行清晰和回收,程序員不能實(shí)時(shí)的調(diào)用垃圾回收器對某個(gè)對象或全部對象進(jìn)行垃圾回收。回收機(jī)制有分代復(fù)制垃圾回收和標(biāo)記垃圾回收,增量垃圾回收。.請說出你所知道的線程同步的方法。():使一個(gè)線程處于等待狀態(tài),并且釋放所持有的對象的。():使一個(gè)正在運(yùn)行的線程處于睡眠狀態(tài),是一個(gè)靜態(tài)方法,調(diào)用此方法要捕獲異樣。():喚醒一個(gè)處于等待狀態(tài)的線程,留意的是在調(diào)用此方法的時(shí)候,并不能準(zhǔn)確的喚醒某一個(gè)等待狀態(tài)的線程,而是由確定喚醒哪個(gè)線程,而且不是按優(yōu)先級。():喚醒全部處入等待狀態(tài)的線程,留意并不是給全部喚醒線程一個(gè)對象的鎖,而是讓它們競爭。.請講一講析構(gòu)函數(shù)和虛函數(shù)的用法和作用。.與有什么區(qū)分?表示系統(tǒng)級的錯(cuò)誤和程序不必處理的異樣,表示須要捕獲或者須要程序進(jìn)行處理的異樣。.在中一個(gè)類被聲明為類型,表示了什么意思?表示該類不能被繼承,是頂級類。.描述一下你最常用的編程風(fēng)格。.和有什么區(qū)分。棧是一種線形集合,其添加和刪除元素的操作應(yīng)在同一段完成。棧根據(jù)后進(jìn)先出的方式進(jìn)行處理。堆是棧的一個(gè)組成元素.假如系統(tǒng)要運(yùn)用超大整數(shù)(超過長度范圍),請你設(shè)計(jì)一個(gè)數(shù)據(jù)結(jié)構(gòu)來存儲(chǔ)這種超大型數(shù)字以與設(shè)計(jì)一種算法來實(shí)現(xiàn)超大整數(shù)加法運(yùn)算)。[]=[1000];[](s)=S;(0<).假如要設(shè)計(jì)一個(gè)圖形系統(tǒng),請你設(shè)計(jì)基本的圖形元件()的簡潔實(shí)現(xiàn)12,談?wù)?,,的區(qū)分。一修飾符(關(guān)鍵字)假如一個(gè)類被聲明為,意味著它不能再派生出新的子類,不能作為父類被繼承。因此一個(gè)類不能既被聲明為的,又被聲明為的。將變量或方法聲明為,可以保證它們在運(yùn)用中不被變更。被聲明為的變量必需在聲明時(shí)給定初值,而在以后的引用中只能讀取,不行修改。被聲明為的方法也同樣只能運(yùn)用,不能重載。一再異樣處理時(shí)供應(yīng)塊來執(zhí)行任何清除操作。假如拋出一個(gè)異樣,那么相匹配的子句就會(huì)執(zhí)行,然后限制就會(huì)進(jìn)入塊(假如有的話)。一方法名。技術(shù)允許運(yùn)用()方法在垃圾收集器將對象從內(nèi)存中清除出去之前做必耍的清理工作。這個(gè)方法是由垃圾收集器在確定這個(gè)對象沒有被引用時(shí)對這個(gè)對象調(diào)用的。它是在類中定義的,因此全部的類都繼承了它。子類覆蓋()方法以整理系統(tǒng)資源或者執(zhí)行其他清理工作。()方法是在垃圾收集器刪除對象之前對這個(gè)對象調(diào)用的。13,(匿名內(nèi)部類)是否可以(繼承)其它類,是否可以(實(shí)現(xiàn))(接口)?匿名的內(nèi)部類是沒出名字的內(nèi)部類。不能(繼承)其它類,但一個(gè)內(nèi)部類可以作為一個(gè)接口,由另一個(gè)內(nèi)部類實(shí)現(xiàn)。14,和的不同,說得越多越好(面試題有的很籠統(tǒng))。(一般是的說法),(一般是的說法)。內(nèi)部類與嵌套類最大的不同就在于是否有指向外部的引用上。詳細(xì)可見:7041注:靜態(tài)內(nèi)部類()意味著1創(chuàng)建一個(gè)內(nèi)部類的對象,不須要一個(gè)外部類對象,2不能從一個(gè)內(nèi)部類的一個(gè)對象訪問一個(gè)外部類對象第四,&和的區(qū)分。&是位運(yùn)算符。是布爾邏輯運(yùn)算符。15,和的區(qū)分。都屬于接口的類,實(shí)現(xiàn)了將惟一鍵映射到特定的值上。類沒有分類或者排序。它允許一個(gè)鍵和多個(gè)值。類似于,但是不允許鍵和值。它也比慢,因?yàn)樗峭降摹?6,和的區(qū)分。是個(gè)下的類,它包含有各種有關(guān)集合操作的靜態(tài)方法。是個(gè)下的接口,它是各種集合結(jié)構(gòu)的父接口。17,什么時(shí)候用。斷言是一個(gè)包含布爾表達(dá)式的語句,在執(zhí)行這個(gè)語句時(shí)假定該表達(dá)式為o假如表達(dá)式計(jì)算為,那么系統(tǒng)會(huì)報(bào)告一個(gè)。它用于調(diào)試目的:(a>0);a<=0斷言可以有兩種形式:;1:2;1面當(dāng)總是產(chǎn)生一個(gè)布爾值。2可以是得出一個(gè)值的隨意表達(dá)式。這個(gè)值用于生成顯示更多調(diào)試信息的消息。斷言在默認(rèn)狀況下是禁用的。要在編譯時(shí)啟用斷言,須要運(yùn)用L4標(biāo)記:1.4要在運(yùn)行時(shí)啟用斷言,可運(yùn)用或者標(biāo)記。要在運(yùn)行時(shí)選擇禁用斷言,可運(yùn)用或者標(biāo)記。要系統(tǒng)類

溫馨提示

  • 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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論