java面試題大全-基礎方面_第1頁
java面試題大全-基礎方面_第2頁
java面試題大全-基礎方面_第3頁
java面試題大全-基礎方面_第4頁
java面試題大全-基礎方面_第5頁
已閱讀5頁,還剩7頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論