javase筆試面試簡答題部分11_第1頁
javase筆試面試簡答題部分11_第2頁
javase筆試面試簡答題部分11_第3頁
javase筆試面試簡答題部分11_第4頁
javase筆試面試簡答題部分11_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第頁

\*

第一部分

19101

5

1.請解釋語言的跨平臺特性。1415952.請列舉語言的主要特點2527453.請說明一個類中主要包含哪幾個元素?并說明每種元素的作用。3120254、請說明構(gòu)造方法的作用和特征2416455、什么事方法重載()?419666、請列舉語言中的權(quán)限訪問修飾符,并說明每種權(quán)限的含義。89667、請列舉語言中的八種基本數(shù)據(jù)類型,并說明每種數(shù)據(jù)類型的含義及長2246668.什么叫引用類型,引用類型和基本數(shù)據(jù)類型有什么區(qū)別?1418269.對于對象,可以使用“=”賦值,也可以使用關(guān)鍵字賦值,兩種方式有什么區(qū)別?5039710類是一個“不可變類”,請解釋“不可變類”的含義。7143711類和類有什么區(qū)別?16370712.和類有什么區(qū)別?8680813.包裝器類型包括哪些類,有什么作用?17718814.請說明語言中的值傳遞規(guī)則。9586815.使用修飾屬性或方法后,屬性和方法有什么特征?30007816.使用修飾屬性后,屬性有什么特征?1961917.請說明操作符的作用。4486918請說明及&的區(qū)別和聯(lián)系7428919.語句能在什么場景使用。31034920循環(huán)中的語句和語句的使用。15034921請說明一個類中主要包含哪幾個元素并說明每種元素的作用。1568010第二部分類之間的關(guān)系1748710用代碼表示A類關(guān)聯(lián)B類的情況。6192102.請說明語言中數(shù)組的基本概念,數(shù)組的作用,以及數(shù)組的聲明創(chuàng)建方式。25232103.使用代碼,創(chuàng)建一個長度為5的型數(shù)組,并使用增強循環(huán)迭代數(shù)組打印出數(shù)組中的元素。28116104.說明類的作用。6030115.請使用簡單代碼展示A類依賴B類的含義。22458116.請說明依賴關(guān)系和關(guān)聯(lián)關(guān)系的區(qū)別。16216117.繼承有什么作用,語言中的繼承有什么特點?12173118、什么是方法覆蓋?并說明方法覆蓋及方法重載()的區(qū)別。19319129、請說明什么是抽象類?抽象類有什么作用?197221210、請說明抽象方法的含義,并說明抽象類及抽象方法的關(guān)系。142181211、關(guān)鍵字的兩種用法。73741212、類及方法有什么作用?264751214類有什么特點?77521315類中的方法有什么用?255371316類中的方法和方法。27151317.接口有什么特點,及抽象類有什么區(qū)別?204651418.類繼承父類及類實現(xiàn)接口,有什么區(qū)別?131081419接口有什么作用327414第三部分異常處理24154141.什么是異常?異常和錯誤有什么區(qū)別?21858142是什么異常?什么情況發(fā)生該異常?22796143.說明語句塊的作用20474154.如何使用語句拋出異常,拋出異常后如何處理?28891155.關(guān)鍵字和關(guān)鍵字有什么區(qū)別和聯(lián)系?6886156.什么是自定義異常類?為什么要自定義異常類?2398415第四部分 核心24005150.請畫出集合框架的主要接口和類的繼承關(guān)系。885516接口和接口分別定義了什么集合類型?有什么區(qū)別?27038161.用簡單代碼演示創(chuàng)建一個泛型類為類的對象,并使用增強循環(huán)迭代集合。26116162.和集合有什么區(qū)別?1677163接口有哪幾個實現(xiàn)類?分別說明其特征1333174和有什么區(qū)別?17443175.如何將一個轉(zhuǎn)換成數(shù)組?918176集合的作用?2488177和在性能上有什么樣的差別呢?你比較傾向于使用哪一個?15955178什么是20016189什么是和?198411810集合框架都有哪些最佳實踐呢?233011811和的區(qū)別。19221812、、的區(qū)別?

237071813的接口和特點?:

1451914及的區(qū)別?

210241915假設(shè)存在文本文件,請用代碼展示將文件按行讀出,并打印輸出到控制臺。285621916.使用語言如何創(chuàng)建線程對象?請列出常用的兩種方法。167781917.關(guān)鍵字有什么作用?用簡單代碼展示的方法。273032018.線程之間通信的方法有哪幾個?分別起到什么作用?3083620第五部分其他特性16657201.什么是泛型?泛型有什么作用?10467203.下述代碼是否有編譯錯誤,如果有,請指出錯誤。9567214.請使用簡單代碼聲明一個枚舉類型,并說明枚舉的作用。26944215.假設(shè)有一個枚舉類型是,使用代碼展示遍歷該枚舉的方法。12814227.什么是自動裝箱/拆箱?使用該特征有哪些注意事項?6404228.什么是可變參數(shù)?用簡單代碼展示可變參數(shù)的使用。25585231、作用域,以及不寫時的區(qū)別30701232、&和的區(qū)別16674245、和的區(qū)別27573246、什么時候用22613247、s=("");創(chuàng)建了幾個4255248、(11.5)等於多少?(-11.5)等於多少255222410、有沒有213382411、數(shù)組有沒有()這個方法?有沒有()這個方法296112412、和的區(qū)別。的方法是否可以改變返回值的類型18022413、里的元素是不能重復(fù)的,那么用什么方法來區(qū)分重復(fù)及否呢?是用還是()?它們有何區(qū)別269902514、給我一個你最常見到的164942516、,,是否繼承自接口14972517、和有什么區(qū)別183112518、的是否可同時是,是否可同時是,是否可同時是146212619、接口是否可繼承接口?抽象類是否可實現(xiàn)()接口?抽象類是否可繼承實體類()151482620、構(gòu)造器是否可被1182621、是否可以繼承類77822622、{}里有一個語句,那么緊跟在這個后的{}里的會不會被執(zhí)行,什么時候被執(zhí)行,在前還是后14232623、用最有效率的方法算出2乘以8248072624、兩個對象值相同((y)),但卻可有不同的,這句話對不對24382725、當一個對象被當作參數(shù)傳遞到一個方法后,此方法可改變這個對象的屬性,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞5492726、是否能作用在上,是否能作用在上,是否能作用在上65252727、和的區(qū)別和的區(qū)別14792728、型變量中能不能存貯一個中文漢字?為什么?184682729、是什么?為什么要有206862830、型3.4是否正確?223352831、介紹中的(包括如何寫自己的數(shù)據(jù)結(jié)構(gòu))?295812832、抽象類及接口?74092833和的區(qū)別。159542834、談?wù)?,的區(qū)別307732835、面向?qū)ο蟮奶卣饔心男┓矫?95602936、是最基本的數(shù)據(jù)類型嗎303112937、和有什么區(qū)別164032938、運行時異常及一般異常有何異同66003039、說出,的存儲性能和特性326223040、和的區(qū)別290203041、和有什么區(qū)別3513042、中的異常處理機制的簡單原理和應(yīng)用298553043、垃圾回收的優(yōu)點和原理。并考慮2種回收機制294303144、你所知道的集合類都有哪些?主要方法?270963145、描述一下加載文件的原理機制?2423146、排序都有哪幾種方法?請列舉51423147、語言如何進行異常處理,關(guān)鍵字:118423148、一個""源文件中是否可以包括多個類(不是內(nèi)部類)?有什么限制?36203249、中有幾種類型的流?為每種類型的流提供了一些抽象類以供繼承,請說出他們分別是哪些類?101723250、中會存在內(nèi)存泄漏嗎,請簡單描述。86843251、中實現(xiàn)多態(tài)的機制是什么?180183252、垃圾回收器的基本原理是什么?垃圾回收器可以馬上回收內(nèi)存嗎?有什么辦法主動通知虛擬機進行垃圾回收102753253、靜態(tài)變量和實例變量的區(qū)別?155893254、什么是序列化,如何實現(xiàn)序列化?67153355、是否可以從一個方法內(nèi)部發(fā)出對非方法的調(diào)用?46923356、寫()方法時,通常都有一行代碼,是什么?43253357、在中,如何跳出當前的多重嵌套循環(huán)?233113358、、、三個接口,存取元素時,各有什么特點?316623359、說出一些常用的類,包,接口,請各舉5個272483360、中有幾種方法可以實現(xiàn)一個線程?用什么關(guān)鍵字修飾同步方法?()和()方法為何不推薦使用?6343361、()和()有什么區(qū)別?191633462、同步和異步有何異同,在什么情況下分別使用他們?舉例說明。184143463、啟動一個線程是用()還是()?304683464、當一個線程進入一個對象的一個方法后,其它線程是否可進入此對象的其它方法?153643465、請說出你所知道的線程同步的方法。262863466、多線程有幾種實現(xiàn)方法,都是什么?同步有幾種實現(xiàn)方法,都是什么?267173567、線程的基本概念、線程的基本狀態(tài)以及狀態(tài)之間的關(guān)系210513568、簡述和的異同?112803569、的作用?為什么要用?192073570、是什么?3233571、說出數(shù)據(jù)連接池的工作機制是什么?54153572、有哪些解析技術(shù)?區(qū)別是什么?235903673、你在項目中用到了技術(shù)的哪些方面?如何實現(xiàn)的?194143674、文檔定義有幾種形式?它們之間有何本質(zhì)區(qū)別?解析文檔有哪幾種方式?22223675、的各個部分都有那些技術(shù)來實現(xiàn)?如何實現(xiàn)?247353676、J2是什么?2221737第一部分1.請解釋語言的跨平臺特性。解析:雖然不知道什么是跨平臺也可以使用語言進行編程,但是對于一個編程員來說,理解跨平臺特性能夠更深入掌握語言,所以企業(yè)中往往要求應(yīng)聘者至少理解這個特性。參考答案:的跨平臺特性也被稱為可移植性、平臺無關(guān)性,或者一次編寫處處運行。他的意思就是如果用語言編寫一個應(yīng)用,那么就可以在不同平臺上運行,而不需要為不同平臺單獨運行開發(fā)。之所以能實現(xiàn)跨平臺的特性。主要得益于虛擬機(),解釋器在運行應(yīng)用時根據(jù)當前平臺進行解釋,解釋成符合當前平臺規(guī)范的機器碼,所以可以實現(xiàn)同樣的應(yīng)用在不同平臺上都能運行。2.請列舉語言的主要特點解析:了解一門語言,往往從熟悉該語言的主要特點開始入手,所以企業(yè)也常常通過應(yīng)聘者對語言特點的掌握程度而判斷其語言基礎(chǔ)是否扎實。參考答案:語言有很多特點,主要包括①跨平臺性:一個應(yīng)用可以不經(jīng)過修改直接運行到不同的平臺上。②面向?qū)ο螅赫Z言是一門面向?qū)γ娴恼Z言,可以使用對象的屬性和行為,可以使用面向?qū)ο蟮乃枷脒M行分析設(shè)計,并實現(xiàn)整個應(yīng)用。③解釋執(zhí)行應(yīng)用時,中的解釋器將解釋類文件,生成符合當前平臺的字節(jié)碼。④自動回收:應(yīng)用中的垃圾回收是自動進行的,中的后臺線程將監(jiān)視內(nèi)存中數(shù)據(jù)的使用,當內(nèi)存中的數(shù)據(jù)不再被引用時,將被作為垃圾回收,而不需要程序員動手回收。3.請說明一個類中主要包含哪幾個元素?并說明每種元素的作用。解析:無論簡單還是復(fù)雜的應(yīng)用,都是由若干個類組成,所以類是應(yīng)用的組成單位。了解一個類中包含的主要元素能夠?qū)︻愑幸粋€清晰的認識。一個類中往往會有五種元素,即屬性、方法、構(gòu)造方法、塊以及內(nèi)部類、其實塊和內(nèi)部類比較少見。參考答案:類中主要包含屬性、方法、構(gòu)造方法、塊以及內(nèi)部類。屬性用來定義對象的數(shù)據(jù);方法用來定義對象的行為;構(gòu)造方法可以用來創(chuàng)建對象;塊能夠用來在類加載時執(zhí)行操作或者在每次實例化前執(zhí)行通用操作;內(nèi)部類作為類的一個成員存在,能夠訪問外部類的屬性和方法。4、請說明構(gòu)造方法的作用和特征解析:類是對象的模板,使用類往往都需要首先對類進行實例化,即創(chuàng)建對象。要創(chuàng)建對象必須使用關(guān)鍵字調(diào)用構(gòu)造方法()才能完成,構(gòu)造方法中往往對屬性進行實例化,也可以實現(xiàn)其他必要的功能,如讀取屬性文件等。構(gòu)造方法有獨特的特征:名字必須及類名相同且大小寫敏感,而且構(gòu)造方法不能聲明返回值,這兩個特征缺一不可。使用工具時,可以使用菜單自動生成不同的構(gòu)造方法。參考答案:構(gòu)造方法的作用是用來創(chuàng)建對象,使用關(guān)鍵字調(diào)用。構(gòu)造方法的名字必須及類的名字相同,并且大小寫敏感,同時構(gòu)造方法不能聲明返回值類型,可以使用任意一種訪問修飾符,但是不能使用其他修飾符進行修飾,如、、等修飾符都可以修飾構(gòu)造方法。5、什么事方法重載()?解析:如果一個類的某個行為,會有不同的算法和邏輯,例如,類的計算絕對值的方法,既可以計算類型數(shù)值的絕對值,也可以計算類型數(shù)值的絕對值。這種情況下,每種類型都定義一個不同的方法名,如、,那么類的可讀性就較差,使用時,必須熟悉處理每種類型參數(shù)所對應(yīng)的方法名。然而,如果使用同一個方法名,而使用不同的形式參數(shù)來區(qū)別這些方法,那么就具有很好的可讀性,如(i)、(d)等。可讀性強的代碼是企業(yè)對開發(fā)人員的基本要求,方法重載能夠使得代碼有很好的可讀性。參考答案:方法重載指的是在一個類中可以聲明多個相同名字的方法,而方法的形式參數(shù)有區(qū)別。調(diào)用這些同名的方法時,會根據(jù)實際參數(shù)的不同綁定到不同的方法。6、請列舉語言中的權(quán)限訪問修飾符,并說明每種權(quán)限的含義。解析:正確使用權(quán)限訪問修飾符,能夠有效控制類以及類成員的安全性,語言中有四種訪問修飾符,包括、同包、以及,一般情況下,應(yīng)用中的類多是權(quán)限,屬性多是權(quán)限,方法多是權(quán)限。參考答案:語言中有四種權(quán)限訪問修飾符,即、、同包以及,表示公共權(quán)限,即任何包中都可以訪問:表示受保護權(quán)限,即同包中可以訪問,同包中的子類可以訪問:同包權(quán)限是默認權(quán)限,即不顯示指明權(quán)限修飾符的時候就是同包權(quán)限,表示只有同包中可以訪問:是私有權(quán)限,表示只能在本類中訪問。7、請列舉語言中的八種基本數(shù)據(jù)類型,并說明每種數(shù)據(jù)類型的含義及長度。解析:數(shù)據(jù)類型在任何一門編程語言中都是很重要的知識點,屬性、方法參數(shù)、方法返回值要指定各自的數(shù)據(jù)類型。語言雖然是一門面向?qū)ο蟮恼Z言。但是也定義了基本數(shù)據(jù)類型,基本數(shù)據(jù)類型可以直接賦值,不需要使用關(guān)鍵字創(chuàng)建,可以直接使用運算符進行運算,編程中經(jīng)常被使用,而且語言中的基本數(shù)據(jù)類型的長度固定,不會隨著平臺的不同而不同。參考答案:語言的八種基本數(shù)據(jù)類型有:字節(jié)型,8位長度:短整型,16位長度,整型,32位長度:長整型,64位長度:單精度浮點型。32位長度:雙精度浮點型,64位長度:字符型,16位長度:型,表示邏輯值,有和兩個值,分別表示真和假8.什么叫引用類型,引用類型和基本數(shù)據(jù)類型有什么區(qū)別?解析:很多初級程序員都能夠理解20;中的是一種類型,稱為整型。而對于類似();這樣表達式中的卻感覺無所適從。其實,任何一個類都是一種類型,如就是一種類型,可以說變量e的類型就是。語言中將類的類型稱為引用類型,即??梢哉f,除了八種基本數(shù)據(jù)類型之外的類型都是引用類型,包括中所有的類、自定義的所有類,也包括數(shù)組。引用類型和基本數(shù)據(jù)類型的直觀區(qū)別就是引用類型的變量需要使用調(diào)用構(gòu)造方法來賦值,而基本數(shù)據(jù)類型可以直接使用“=”號賦值。但是,引用類型中的比較特殊,既可以使用關(guān)鍵字賦值,也可以直接使用“=”賦值,一般情況下都使用“=”直接賦值。 參考答案:語言中除了基本數(shù)據(jù)類型之外的類型,都稱為引用類型。引用類型就是類的類型,所有的對象都是引用類型,包括數(shù)組對象。引用類型必須使用調(diào)用構(gòu)造方法進行賦值,引用類型的變量擁有自己的屬性和方法,可以使用圓點調(diào)用自己的屬性和方法?;緮?shù)據(jù)類型直接使用=號進行賦值,且沒有自己的屬性和方法,往往都在聲明屬性或方法時使用。9.對于對象,可以使用“=”賦值,也可以使用關(guān)鍵字賦值,兩種方式有什么區(qū)別?解析:類型是實際工作中經(jīng)常使用到的類型,從數(shù)據(jù)類型上劃分,是一個引用類型,是中定義的一個類。所以類型的對象可以使用創(chuàng)建,例如(“”);為變量進行賦值,值為“”。然而,類比起其他類有些特殊,可以使用“=”直接賦值,如“”,也是為變量進行賦值,值為“”。這兩種賦值方式是有差別的,使用賦值,永遠都是創(chuàng)建一個新對象,在新的內(nèi)存空間初始化了字符串的值;而使用“=”賦值,不會每次都初始化新的字符串,而是從一個“字符串實例池”中去查找有沒有要賦值的字符串,如有則直接引用;如不存在,則初始化一個字符串,并放入“字符串實例池”。在實際編程中,往往使用“=”好對類型變量進行賦值。 參考答案:使用“=”賦值不一定每次都創(chuàng)建一個新的字符串,而是從“字符串實例池”中查找字符串。使用進行賦值,則每次都創(chuàng)建一個新的字符串。10類是一個“不可變類”,請解釋“不可變類”的含義。解析:類是一個不可變類,即類。所謂不可變,意思是當一個字符串被初始化后,它的值就不會被改變。例如,(“”)為將初始化一個值為的字符串,如果調(diào)用()看起來是把變?yōu)榇髮懙?,然而事實上并不會把已有的變?yōu)?,而是在新的空間初始化一個字符串。也正因為有這種不可變性,所以才能支持“字符串實例池”的使用。 參考答案:所謂的不可變類,就是當字符串初始化后,就不能夠被改變。11類和類有什么區(qū)別?解析:類是不可變類,字符串一旦初始化后,就不能被改變。而類是可變類,字符串值可以唄改變。常常在實際應(yīng)用中看到累死這樣的代碼:(“”)””,這兩句代碼首先創(chuàng)建一個字符,然后將追加到結(jié)尾并重新賦值給變量s。然后,這個過程實際上是這樣的:首先創(chuàng)建一個對象,然后用類的方法追加字符串,最后對對象調(diào)用方法合成字符串返回??梢姡褂?號連接字符串時,本質(zhì)上是使用了可變的類,經(jīng)變動肯定性能效率受到影響,所以建議需要追加字符串時,可以考慮直接使用類。參考答案:類是不可變類,即字符串值一旦初始化后就不可能改變。是可變字符串類,類似的緩沖區(qū),可以修改字符串的值。12.和類有什么區(qū)別?解析:是5中增加的一個新類,在以前版本中不存在這個類。中的方法和中的方法基本相同,但是是線程安全的,而不是線程安全的,因此在不考慮同步的情況下,有更好的性能。參考答案:是線程安全的字符串緩沖,而不是線程安全的。13.包裝器類型包括哪些類,有什么作用?解析:初級程序員常常對和或者和感到混淆。在語言中,有八中基本數(shù)據(jù)類型,即、、、、、、。對應(yīng)這八種基本數(shù)據(jù)類型,中定義了八個類,能把這些基本類型轉(zhuǎn)換成引用類型,分別是、、、、、、。這八個類被統(tǒng)稱為包裝器類。5之后,包裝器類和基本數(shù)據(jù)類型之間可以直接轉(zhuǎn)換,稱為自動的裝箱拆箱()。例如3;雖然寫法上可以像使用基本數(shù)據(jù)類型一樣使用包裝器類型,但是本質(zhì)上依**行了類似(3)的轉(zhuǎn)換,因此,不要輕易使用包裝器類的自動裝箱拆箱,以優(yōu)化的性能。能夠使用基本類型就使用基本類型。參考答案:包裝類器包括、、、、、、、等類,主要用來對、、、、、、、這八種基本數(shù)據(jù)類型進行包裝,使其稱為引用類型。14.請說明語言中的值傳遞規(guī)則。解析:值傳遞時編寫應(yīng)用時不可避免的操作。例如某方法聲明形式是f(x){},寫方法是,必須為其傳遞一個類型的實際參數(shù),如f(10)。又如g()。那么使用該方法時,必須為其傳遞一個類型的實際參數(shù),例如g(())。所以,對于初級程序員來說,了解語言的值傳遞規(guī)則非常重要。語言是本類型傳遞的值,例如f(10),僅僅把10復(fù)制給形式參數(shù)x,是值的拷貝。而引用類的傳遞時引用,即虛地址,例如g(())是把實際參數(shù)的虛地址傳遞給形式參數(shù)e,也就是說實際參數(shù)和形式參數(shù)的虛地址相同,物理上是同一個對象。參考答案:基本數(shù)據(jù)類型傳遞的是值,引用類型傳遞的是引用,即虛地址。15.使用修飾屬性或方法后,屬性和方法有什么特征?解析:修飾符是一個非常常見并重要的修飾符,稱為靜態(tài)。靜態(tài)不是指值不能改變,很多初級程序員容易容易望文生義的地方。常常用來修飾類的屬性或者方法。當一個屬性或者方法和對象沒有關(guān)系,或者說是任何對象共享的時候,那么就應(yīng)該用進行修飾。列如某類中的計數(shù)器,用來計算實例的個數(shù)。那么這個計數(shù)器屬性就是所有對象共享的屬性,就應(yīng)該用修飾。又例如類中的()方法,用來返回參數(shù)的絕對值,這個方法和類的對象沒有關(guān)系,類對象可以共享這個方法,那么這個方法就可以用修飾。程序員必須深入理解修飾符的使用。參考答案:修飾屬性或方法后,屬性和方法不在屬于某個特定的對象,而是所有共享,也可以說是成員不依賴某個對象,在類加載時就被初始化。修飾的屬性或方法,可以直接使用類名調(diào)用,而不用先實例化對象再調(diào)用。16.使用修飾屬性后,屬性有什么特征?解析:屬性可以是變量也可以是常量,如果是常量,就需要使用修飾。如果使用修飾了某個屬性,那么該屬性值一旦被賦值,就不能被修改,實際中常常有這個樣的碼:0;也就是說,常常會生命靜態(tài)的常量。靜態(tài)常量的命名規(guī)范非常特殊,往往都是用大寫字母,如果包含多個單詞,每個單詞之間使用下劃線連接。靜態(tài)常量的意思是,該類所有的對象都擁有一個不變的常量,作為0中很多類都定義了很多的靜態(tài)常量,使用時直接使用類名調(diào)用即可。參考答案:修飾屬性后,屬性就成為一個常量。常量只要被賦值,就不能被改變。17.請說明操作符的作用。解析:實際編程中,是非常常用的操作符。很多初級程序員會使用這樣的代碼(””0{},結(jié)果會發(fā)現(xiàn),即使當字符串s的值為時,條件依然不能被執(zhí)行。是在比較引用類型時,比較的是兩個對象的虛地址,而不是內(nèi)容。要比較兩個對象的內(nèi)容是否相同,往往需要使用方法,例如((“”)){}。比較基本類型時,將比值的二進制是否相等,例如(0.5){}。值得注意的是,及空指針值進行比較,往往用進行,例如((“”)),表示如果字符串是空指針或者空串。參考答案:可以用來比較基本類型或者引用類型。比較基本類型時,用來比較二進制的值,比較引用類型時,用來比較對象的虛地址。18請說明及&的區(qū)別和聯(lián)系解析:實際編程中,常常需要使用“及”或者“或”的邏輯。其中和&存在一定區(qū)別可能發(fā)生各路問題,例如(()6)中,如果要的值為,那么第一表達式的值為,返回值肯定是,不會計算第二個表達式的值,這就是短路。然而使用&,例如(()6),假設(shè)s的值為,,返回值肯定是,但是會判斷第二個表達式的值,將發(fā)生空指針異常。實際工作中,經(jīng)常使用操作符。參考答案:會發(fā)生短路問題,當?shù)谝粋€表達式的值為時,將直接返回結(jié)果為而不會判斷第二個表達式的值。而&不會發(fā)生短路問題,即使第一個表達式的值是,會判斷第二個表達式的值。19.語句能在什么場景使用。解析語句表示中斷,不能夠隨便使用,只能在循環(huán)語句中或者語句中使用。初級工程師往往容易將和混淆。是可以再方法體中任意位置使用,可以帶值返回頁可以不帶值返回,執(zhí)行語句后,該方法將返回,也就是方法執(zhí)行結(jié)束。而只能在循環(huán)體中或者的語句中使用,不能隨意使用。參考答案:語句可以再循環(huán)體中使用,也可以在的語句中使用。20循環(huán)中的語句和語句的使用。解析:很多時候,循環(huán)是為了查找某些符合條件的數(shù)據(jù),只要找到就沒有必要繼續(xù)下去,稱為中斷循環(huán),語句就可以用來中斷循環(huán)。而語句恰恰相反,是用來繼續(xù)下一次循環(huán)。值得注意的是,語言中可以再循環(huán)前面加標號,即,然后可以使用或中斷或繼續(xù)標號的循環(huán)。參考答案:可以用來中斷循環(huán),可以用來繼續(xù)下一次循環(huán)。21請說明一個類中主要包含哪幾個元素并說明每種元素的作用。解析:無論簡單還是復(fù)雜的應(yīng)用,都是由若干個類組成,所以類是應(yīng)用的組成單位。了解一個類中包含的主要元素能夠?qū)︻愑幸粋€清晰的認識。一個類中往往會有五種元素,即屬性、方法、構(gòu)造方法、塊以及內(nèi)部類、其實塊和內(nèi)部類比較少見。參考答案:類中主要包含屬性、方法、構(gòu)造方法、塊以及內(nèi)部類。屬性用來定義對象的數(shù)據(jù)方法用來定義對象的行為構(gòu)造方法可以用來創(chuàng)建對象塊能夠用來在類加載時執(zhí)行操作或者在每次實例化前執(zhí)行通用操作內(nèi)部類作為類的一個成員存在,能夠訪問外部類的屬性和方法第二部分類之間的關(guān)系用代碼表示A類關(guān)聯(lián)B類的情況。解析:一個應(yīng)用中不可能只有一個類,所以了解類之間的關(guān)系對程序員來說非常重要。關(guān)聯(lián)關(guān)系是最常用的一種關(guān)系,如果說A關(guān)聯(lián)B,那么就是B作為A的屬性存在。關(guān)聯(lián)關(guān)系是一種復(fù)用的策略,即A關(guān)聯(lián)B的時候,A可以復(fù)用B的行為。參考答案:A{Bb;(Bb){2.請說明語言中數(shù)組的基本概念,數(shù)組的作用,以及數(shù)組的聲明創(chuàng)建方式。解析:數(shù)組時任何一門語言里都常用的類型,語言也不例外。程序員了解數(shù)組,不能僅僅從語法上了解,而應(yīng)該深入理解數(shù)組的作用。數(shù)組可以用來存儲類型相同的元素,作為一種數(shù)據(jù)容器使用。和數(shù)組類似的概念是集合,也能作為數(shù)據(jù)容器使用。參考答案:數(shù)組時相同元素的集合,作為數(shù)據(jù)容器使用。聲明創(chuàng)建一個型數(shù)組,如下所示:[][3];其中3是數(shù)組的長度,該數(shù)組能夠存儲3個型變量。3.使用代碼,創(chuàng)建一個長度為5的型數(shù)組,并使用增強循環(huán)迭代數(shù)組打印出數(shù)組中的元素。解析:增強循環(huán)是5增加的特性,可以方便地遍歷數(shù)組或集合。程序員需要了解的是,如果版本低于5.0,則不支持這個功能。另外,并不是說有了增強循環(huán)后,傳統(tǒng)的循環(huán)就不被使用,增強循環(huán)只能用來方便地遍歷數(shù)組和集合,其他情況下還要使用傳統(tǒng)的循環(huán)。參考答案:[]=[5];(s);4.說明類的作用。解析:在實際工作中,常常需要對數(shù)組中的元素進行處理,例如排序等。初級程序員往往選擇自己編寫算法實現(xiàn)。實際上中提供了類,該類中定義了很多和數(shù)組有關(guān)的工具方法,能夠方便地處理數(shù)組,是程序員必須掌握的類。參考答案:類是包中的一個類,類中所有的方法都是方法,這些方法都是數(shù)組對象的工具方法,能夠?qū)?shù)組進行處理,如方法可以對數(shù)組元素進行排序5.請使用簡單代碼展示A類依賴B類的含義。解析:對于程序員來說,了解類和類之間的關(guān)系非常必要。依賴關(guān)系指的是一種瞬間的關(guān)系。如果A依賴B,一般指的是A類的某個行為,需要B類對象作為參數(shù)。參考答案:A{f(Bb)6.請說明依賴關(guān)系和關(guān)聯(lián)關(guān)系的區(qū)別。解析:關(guān)聯(lián)關(guān)系和依賴關(guān)系是非常常見的兩種關(guān)系,二者的區(qū)別也很明顯,程序員了解二者的區(qū)別能夠更深入的理解面向?qū)ο蟮乃枷?。參考答案:依賴關(guān)系是一種瞬時關(guān)系,A依賴B,指的是A的某個行為的參數(shù)是B的類型,也就是說,A要想實現(xiàn)這個行為,必須依賴B的實例,A關(guān)聯(lián)B,是一種長久的關(guān)系。關(guān)聯(lián)關(guān)系的是B作為A的屬性存在,只要實例化一個A的對象,就會為這個A的對象實例化一個B的對象,作為它的屬性使用,可以在A中任何需要使用B的地方使用B。7.繼承有什么作用,語言中的繼承有什么特點?解析:繼承是面向?qū)ο笳Z言的一大特征,主要作用是重復(fù)使用,子類通過繼承父類,能夠重復(fù)使用父類的屬性和方法。指的注意的是,有兩個策略都可使實現(xiàn)重復(fù)使用,一個是關(guān)聯(lián),一個是繼承,實際編程中,關(guān)聯(lián)用的更多。因為子類繼承父類后,相當于父類中的細節(jié)將暴露給子類。初級程序員一定不要隨意使用繼承,避免濫用繼承。參考答案:繼承主要為了能夠重復(fù)使用父類中的成員。語言中的繼承是單繼承,也就是說一個類最多只能繼承一個父類。8、什么是方法覆蓋?并說明方法覆蓋及方法重載()的區(qū)別。解析:方法覆蓋是一個非常重要的概念,是多態(tài)性的一個體現(xiàn)。方法覆蓋發(fā)生再去愛繼承關(guān)系中,當子類需要修改從父類繼承到某個方法的方法體時,就可以聲明一個父類同名同參數(shù)同返回值的方法,這樣就對父類中的那個方法進行了覆蓋,子類對象調(diào)用該方法時將自動綁定到子類中的方法。API中很多類中都進行了方法覆蓋,如類中的方法,就覆蓋了父類中的方法。參考答案:覆蓋是發(fā)生在繼承關(guān)系的子類中,當子類要修改從父類繼承的某個方法的方法體時,就可以在子類中聲明一個及父類同名、同參數(shù)并且同返回值類型的方法,這就是方法覆蓋。而重載及繼承沒有關(guān)系,指的是在一個類中可以同時聲明多個同名但不同參數(shù)的方法,稱為重載。9、請說明什么是抽象類?抽象類有什么作用?解析:初級程序員往往不需要自己創(chuàng)建抽象類,但是必須了解抽象類的概念,并且會使用抽象類。抽象類往往是設(shè)計階段的概念,用來定義多個子類的模板,一些具體的實現(xiàn)可以在子類中進行。初級程序員往往需要會創(chuàng)建子類繼承抽象類,實現(xiàn)抽象類中的方法。在中,抽象類比比皆是。參考答案:抽象類是不能實例化的類,使用修飾。抽象類往往用來做父類使用,定義一些子類的共同屬性或行為。10、請說明抽象方法的含義,并說明抽象類及抽象方法的關(guān)系。解析:抽象方法都是在抽象類中定義的,是用來定義子類的策略,而具體的都在子類中實現(xiàn)。參考答案:抽象方法是沒有辦法體的方法,使用修飾。抽象類中不一定有抽象方法,但是有抽象方法的類一定是抽象類。11、關(guān)鍵字的兩種用法。解析:使用一些生成代碼時,常常會在構(gòu)造方法中見到這個關(guān)鍵字。顧名思義,是和父類有關(guān)的一個關(guān)鍵字,熟悉的用法對熟練掌握繼承很有必要。參考答案:如():表示調(diào)用父類中的每一參考的構(gòu)造方法:又如(10);表示調(diào)用父類中的具有一個整型參數(shù)的構(gòu)造方法。第二種用法是在子類中調(diào)用父類中的成員,如();意思是調(diào)用父類中的f()方法。12、類及方法有什么作用?解析:修飾符是一個用途非常廣泛的修飾符,可以修飾類,方法,以及屬性。參考答案:類是不能夠被繼承的類,稱為終極類,如類就是類,不能有子類。修飾方法后,是終極方法,不能被子類覆蓋,但是可以被子類繼承使用。13.什么是多態(tài)函數(shù)?多態(tài)函數(shù)有什么用?解析:多態(tài)性是面向?qū)ο笳Z言的的一大特征,重載,覆蓋,多態(tài)參數(shù)是多態(tài)性的一種表現(xiàn)形式。多態(tài)參數(shù)處處可見,例如某方法f(o),這個方法的參數(shù)類型是,使用該方法時,只要傳遞給f的單數(shù)類型是即可。也就是說,類的任意參數(shù)可以傳遞給f方法。這就是多態(tài)參數(shù)。意思是對外形式都一樣,都是,具體實現(xiàn)可以是這個類型的任意子類,這就使得該方法比較靈活,類即使有了新的子類,卻不需要修改,就能直接作用到那個子類。了解多態(tài)參數(shù)的含義和使用,對于的使用特別關(guān)鍵。參考答案:多態(tài)函數(shù)就是參數(shù)的類型是某個父類類型,具體為這個參數(shù)賦值的不同以使用該父類的任意子類的對象。使用多態(tài)參數(shù),可以使程序的擴展性更好,即使的子類方法不需要任何修改,就能接受子類類型進行處理。14類有什么特點?解析:類是一個非常重要的類,是所有類的父類,包括數(shù)組在內(nèi),也就是對一個類,不管是中定義的,還是自定義的類,都直接或間接的繼承了類。所以,如果有一個方法f(o),那么可以傳遞給這個方法任意一個類的對象,包括。因為所有對象都可以說是類型。參考答案:類是多有類的直接或間接的父類。15類中的方法有什么用?解析:類是所有類的父類,所以類中的方法是所有類都默認具備的。類中的方法可以將任意一個對象作為字符串返回,中很多類已經(jīng)覆蓋了這個方法,將其返回值的格式進行了自定義,如類中的方法已經(jīng)覆蓋為返回字符串的字符序列。方法在很多場合被自動調(diào)用,例如打印一個對象時,就自動調(diào)用該對象的方法。參考答案:方法可以把對象作為字符串返回。16類中的方法和方法。解析:在類中,方法比較對象的引用值,也就是只有物理上是同一對象的兩個引用,在使用方法返回。方法返回一個對象的內(nèi)在地址的十六進制值。由于類是所有類的父類,所以任意類中都擁有這兩個方法,并都可以進行覆蓋。尤其是操作對象時集合元素類的方法和方法非常必要。參考答案:類中的方法用來比較兩個引用值,用來返回引用的內(nèi)地址的十六進制數(shù)值。在以及集合中,判斷兩個元素是否重復(fù)時,往往需要使用這兩個方法。這兩個方法往往被子類覆蓋,覆蓋的規(guī)則是:如果存在x和y兩個對象,調(diào)用(y)返回時,那么調(diào)用方法的返回值也該相同;如果(y)返回時,那么調(diào)用方法返回的值可能相同,也可能不同。17.接口有什么特點,及抽象類有什么區(qū)別?解析:接口的概念是一個設(shè)計層面的概念,初級程序員往往不會自己定義接口,但是會使用接口,理解接口的概念非常必要。接口定義了實現(xiàn)類的規(guī)范,即的部分,所有實現(xiàn)類必須按照這個規(guī)范進行實現(xiàn)。參考答案:接口的特點是不能定義變量,而且所有方法都是抽象方法。而抽象類中可以有變量,也不強制必須有抽象方法。18.類繼承父類及類實現(xiàn)接口,有什么區(qū)別?解析:類繼承父類及類實現(xiàn)接口,本質(zhì)上其實是一樣的。都是將父類或者接口作為模板,在這個模板上進行擴展或者重寫。程序員在實際編程中,常常需要繼承父類或者實現(xiàn)接口。參考答案:類繼承父類只是單繼承,也就是一個子類最多只有一個父類;而類實現(xiàn)接口可以多實現(xiàn),就是一個子類可以同時實現(xiàn)多個接口,并覆蓋所有接口中的所有抽象方法。19接口有什么作用解析:接口是在實際編程中常常使用的接口,該接口定義了(o)方法,用來定義對象的比較邏輯。這個接口常常在其他中會強制使用,例如類的([])方法,就強制數(shù)組元素必須實現(xiàn)接口,及這個接口類似的另外一個接口是。參考答案:接口定義了(o)方法,可以用來實現(xiàn)對象的比較邏輯,這個接口常常在其他中強制使用,用來規(guī)范對象的比較邏輯第三部分異常處理1.什么是異常?異常和錯誤有什么區(qū)別?解析:異常處理是面向?qū)ο笳Z言比起過程式語言的一大改進。對于程序員來說,必須了解異常處理,才能順利編程。參考答案:異常是一些不正常的事件,能夠中斷程序的正常執(zhí)行例如才除0計算就是異常。和錯誤不同,異常是可以被處理的,而錯誤往往是不能夠處理的,如內(nèi)存溢出錯誤。2是什么異常?什么情況發(fā)生該異常?解析:程序員必須能夠了解常見的異常的發(fā)生原因,并能夠處理。就是特別常見的運行期異常。參考答案:是空指針異常,當一個引用沒喲被賦值,就是一值如果這種情況下,使用該引用調(diào)用其屬性或者方法,就會發(fā)生異常。3.說明語句塊的作用解析:編寫程序,避免不了需要處理異常。中處理異常使用來實現(xiàn)。尤其其中的語句非常值得程序員關(guān)注,可以用來執(zhí)行必須實現(xiàn)的功能,例如數(shù)據(jù)庫的鏈接等操作。 參考答案:語句塊用來包含可能發(fā)生異常的語句,塊用來捕獲異常,用來包含必須執(zhí)行的語句。4.如何使用語句拋出異常,拋出異常后如何處理?解析:某些業(yè)務(wù)邏輯的非正常事件流,可以使用拋出異常來標記。拋出的異常必須是有意義的異常類型,建議不要使用中的標準異常類,避免混淆。 參考答案:使用語句就可以拋出異常,如()。拋出異常時一般情況下會在聲明方法處使用聲明該類型的異常,調(diào)用該方法是編譯器將提示異常。5.關(guān)鍵字和關(guān)鍵字有什么區(qū)別和聯(lián)系?解析:和是異常處理時兩個常見的關(guān)鍵字,初級程序員常常容易正確理解和的作用和區(qū)別,說明已經(jīng)能比較深入理解異常處理。用來拋出異常,如果執(zhí)行了語句,程序?qū)l(fā)生異常,進入到異常處理機制。用來聲明異常,說明這個方法可能會發(fā)生某些類型的異常,那么編譯器將強制在調(diào)用這個方法的時候處理異常。中的很多方法都使用了聲明了異常,所以使用這些方法時編譯器會提示需要處理異常。 參考答案:用來在方法體內(nèi)拋出異常,而用來在方法聲明處聲明異常。這兩個關(guān)鍵字有著一定的聯(lián)系。如果一個方法中使用了關(guān)鍵字拋出了異常,那么要么立即用語句進行捕獲,要么就是用進行聲明,否則將出現(xiàn)編譯錯誤。然而,并不是只有使用了關(guān)鍵字之后才能使用關(guān)鍵字,語法上來說,任何一個方法都可以直接使用關(guān)鍵字,抽象方法也可以使用。6.什么是自定義異常類?為什么要自定義異常類?解析:企業(yè)應(yīng)用中,往往會自定義一系列的異常類,標記一些非正常的事件流。然而,這些自定義異常類不會讓每個程序員都自定義,而是會由專人定義,分發(fā)給程序員使用。 參考答案:自定義異常類區(qū)別于中的標準異常類,指的是開發(fā)人員自己創(chuàng)建的異常類。只要繼承中某個異常類就可以自定義一個異常類,常常集成類。自定義異常類主要是為了標記業(yè)務(wù)邏輯中非正常事件流,避免及中的標準異?;煜5谒牟糠?核心0.請畫出集合框架的主要接口和類的繼承關(guān)系。解析:集合石非常重要的類型,也是企業(yè)考察員工編程能力時常常關(guān)注的知識點。程序員應(yīng)該熟悉集合框架的主要繼承關(guān)系,掌握常用集合類的用法和特點接口和接口分別定義了什么集合類型?有什么區(qū)別?解析:和是集合框架中兩個基本集合類型,要區(qū)別不同的集合首先要從和開始。 參考答案:接口是傳統(tǒng)的集合接口,可以把單個對象存儲進來。而接口是映射接口,存儲的是鍵值對。用簡單代碼演示創(chuàng)建一個泛型類為類的對象,并使用增強循環(huán)迭代集合。解析:5以后,集合框架中的接口和類都是泛型類及泛型接口,并可以使用增強循環(huán)迭代集合。程序員需要確認開發(fā)平臺的版本,如果低于5.0則不能使用這些功能。 參考答案:<>=<>();(c:){}2.和集合有什么區(qū)別?解析:和是接口的兩個子接口,也是使用最多的兩種集合類型。程序員應(yīng)該熟悉這兩個接口的基本特征,能夠更準確地選擇正確的集合類型。參考答案:實現(xiàn)了列表類型的集合,中的元素是有序()的,每個元素根據(jù)放入集合的順序而對應(yīng)一個索引值,可以根據(jù)這個索引值返回集合原宿。而實現(xiàn)了不重復(fù)元素集合,即中的元素不能夠重復(fù),重復(fù)的元素將無法添加到集合中。3接口有哪幾個實現(xiàn)類?分別說明其特征解析:是用的較多的集合類型,是一個接口,具體使用集合類型時,需要使用時實現(xiàn)類。接口的每個實現(xiàn)類也都實現(xiàn)了不同的數(shù)據(jù)結(jié)構(gòu),各自具有不同的特征,其中最常用的是實現(xiàn)類。參考答案:接口中有以下幾個常用實現(xiàn)1:實現(xiàn)了動態(tài)數(shù)組的特征。2:實現(xiàn)了鏈表的數(shù)據(jù)結(jié)構(gòu),也可以用作棧或者隊列。3:向量。4類的功能都可以實現(xiàn),區(qū)別在于是現(xiàn)行同步的。4和有什么區(qū)別?解析:很多初級程序員對和容易混淆,二者的名字非常類似,本義卻大大不同,類及類非常類似,都是工具類,程序員應(yīng)該熟悉掌握。參考答案:是一個接口的名字,定義了集合類型的共同特征。而是一個類的名字,是集合類型的工具類,類中定義了大量的靜態(tài)方法,能夠操作及和對象。5.如何將一個轉(zhuǎn)換成數(shù)組?解析:集合和數(shù)組有很多共同的地方,二者都是作為數(shù)據(jù)容器使用,用來持有數(shù)據(jù)。數(shù)組的長度是固定的,集合的長度卻可以動態(tài)擴展,數(shù)組由于可以直接通過索引操作其元素,所以性能和效率較高。實際應(yīng)用中,可能使用及合作為臨時變量持有數(shù)據(jù),卻將處理結(jié)果轉(zhuǎn)換成數(shù)組返回。參考答案:接口中定義了(T[]a)方法來將集合轉(zhuǎn)換為數(shù)組,其中T是泛型類型。6集合的作用?集合是可以存儲一批類型不同的對象,針對集合的實現(xiàn)類有很多,作用都是一樣的,即存儲、傳輸數(shù)據(jù),但存儲的數(shù)據(jù)結(jié)構(gòu)不一樣,其速度、安全性也不一樣。7和在性能上有什么樣的差別呢?你比較傾向于使用哪一個?一個平衡樹的性能是O()。里的用一個紅黑樹來保證的排序。紅黑樹是平衡二叉樹。保證二叉樹的平衡性,使得插入,刪除和查找都比較快,時間復(fù)雜度都是O(n)。不過它沒有快,的時間復(fù)雜度是O(1),但是的優(yōu)點在于它里面鍵值是排過序的,這樣就提供了一些其他的很有用的功能。8什么是一些集合類提供了內(nèi)容遍歷的功能,通過接口。這些接口允許遍歷對象的集合。依次操作每個元素對象。當使用時,在獲得的時候包含一個集合快照。通常在遍歷一個的時候不建議修改集合本身。9什么是和?是接口,集合框架中一部分,用于存儲鍵值對,是用哈希算法實現(xiàn)的類10集合框架都有哪些最佳實踐呢?根據(jù)實際的使用情況選擇合適的數(shù)據(jù)結(jié)構(gòu),例如固定大小的還是需要增加大小的,有重復(fù)元素的還是沒有的,需要保持有序還是不需要,遍歷是正向的還是雙向的,插入是在末尾的還是任意位置的,更多的插入還是更多的讀取,是否需要并行訪問,是否允許修改,元素類型是相同的還是不同的,等等。另外,還需要盡早考慮多線程,原子性,內(nèi)存使用量以及性能等因素。不要假設(shè)你的集合里元素的數(shù)量一直會保持較小,它也有可能隨著時間增長。所以,你的集合最好能夠給定一個合適的大小。針對接口編程優(yōu)于針對實現(xiàn)編程。例如,可能在某些情況下,是最佳的選擇,但是后來可能因為性能的原因變得更加合適在取得列表的時候,如果返回的結(jié)果是空的話,最好返回一個長度為0的集合或者數(shù)組,而不要返回。因為,返回的話可能能會導(dǎo)致程序錯誤。調(diào)用你的方法的開發(fā)人員可能會忘記對返回為的情況進行處理。封裝好集合:一般來說,集合都是不可變的對象。所以盡量不要把集合的成員變量暴露給調(diào)用者。因為他們的操作一般都不會進行必要的校驗。11和的區(qū)別。同步性是線程安全的,也就是說是同步的,而是線程序不安全的,不是同步的.數(shù)據(jù)增長:當需要增長時默認增長為原來一培,而卻是原來的一半12、、的區(qū)別?

、:以線性表的方式存儲,查、改快,增刪慢

:是線程安全,方法是同步方法

。

:是線程不安全,方法是非同步方法

。:單鏈表,查、改慢,增刪快13的接口和特點?:

鍵名+鍵值,鍵名不可以重復(fù),鍵值可以重復(fù),通過鍵名取鍵值

:線程不安全

:線程安全

中的作用域?qū)ο?、、、)屬于這個體系14及的區(qū)別?

是集合的根

是算法,提供了靜態(tài)方法,可以對集合進行操作15假設(shè)存在文本文件,請用代碼展示將文件按行讀出,并打印輸出到控制臺。解析:能夠使用包進行文件的輸入輸出操作是一個程序員必備的技能,使用中類操作的步驟都基本類似,都需要經(jīng)歷選擇、創(chuàng)建流對象、進行讀寫操作、關(guān)閉流對象的過程,程序員應(yīng)該熟悉常用的流,能夠根據(jù)需要選擇適當?shù)念悺⒖即鸢福?(“”);{=();=();=();(){();=();}}(e){();}(e){();};16.使用語言如何創(chuàng)建線程對象?請列出常用的兩種方法。解析:語言能夠支持多線程編程,將線程封裝成類型的對象,只要創(chuàng)建類型的對象,就能夠便捷地啟動線程、執(zhí)行線程體。程序員首先必須掌握創(chuàng)建線程的常用方法。參考答案:語言中經(jīng)常使用兩種方法創(chuàng)建線程。①創(chuàng)建類的子類,在子類中覆蓋類的方法,實現(xiàn)線程的運行體,只要創(chuàng)建該子類對象就是線程對象。②創(chuàng)建接口的實現(xiàn)類,在實現(xiàn)類中覆蓋接口中的方法,實現(xiàn)線程的運行體。使用()構(gòu)造方法可以創(chuàng)建線程對象,參數(shù)是接口實現(xiàn)類的實例。17.關(guān)鍵字有什么作用?用簡單代碼展示的方法。解析:線程可以共享數(shù)據(jù),而共享數(shù)據(jù)時,可能會因為多個線程并發(fā)處理共享數(shù)據(jù)而導(dǎo)致數(shù)據(jù)不一致。這種時候,線程同步就費城關(guān)鍵。程序員必須掌握同步的用法,尤其不能隨意將代碼進行同步,因為同步將降低性能,所以一定不能把不需要同步的代碼進行同步,而是只把必須同步的代碼進行同步。參考答案:可以將某個代碼塊或者某個方法進行線程同步,被同步的代碼塊在一個時刻只能被一個線程訪問,只有當前線程處理結(jié)束后,方能被其他線程訪問。例如:(0<50){18.線程之間通信的方法有哪幾個?分別起到什么作用?解析:如果多個線程共享了某些數(shù)據(jù),同時線程之間有存在一定的“依賴”關(guān)系,即執(zhí)行某類線程必須依賴另一類的執(zhí)行結(jié)果,如消費者必須等待生產(chǎn)者生產(chǎn)了商品才能消費。這種情況下,線程之間就需要通信。必須在同步代碼塊中調(diào)用線程通信的方法。參考答案:線程通信的方法有三個,在類中定義。①方法:使得線程進入等待狀態(tài)。②方法:隨意通知等待池中的某一個線程。③方法:通知等待池中所有線程。第五部分其他特性1.什么是泛型?泛型有什么作用?解析:泛型是5中增加的特性,中有大量的泛型接口、泛型類及泛型方法等。程序員需要了解泛型的作用,尤其在使用集合框架時,往往需要使用到泛型。參考答案:泛型的本質(zhì)就是參數(shù)化類型,也就是說把數(shù)據(jù)類型指定為一個參數(shù)。在需要聲明數(shù)據(jù)類型的地方,就可以不指定具體的某個類型,而是使用這個參數(shù)。這樣一來,就能夠在具體使用時再指定具體類型,實現(xiàn)了參數(shù)的“任意化”。泛型的好處是在編譯的時候能夠檢查類型安全,并且所有的強制轉(zhuǎn)換都是自動和隱式的,提高代碼的重用率。請聲明一個簡單的泛型類,說明泛型的作用解析:泛型可以用在很多地方,可以聲明泛型類、泛型接口、泛型方法等。其中泛型類的使用時程序員必須掌握的知識點。參考答案:<E>{E;(E){E(){(E){<>g1<>(“”);(g1());<>g2<>((100));(g2());上面的類就是一個泛型類,其中E是代表類型的一個參數(shù),E不是一個具體的類,可以使用任意字母代替。在類中聲明屬性、方法的時候,都使用E這個參數(shù)表示類型,達到了類型任意化的效果??梢?,使用該類時,可以根據(jù)需要將E替換為任意具體類型。3.下述代碼是否有編譯錯誤,如果有,請指出錯誤。解析:類是中的頂級類,是所有類直接或間接的父類。然而,繼承關(guān)系在使用泛型集合時,卻非常容易出錯,程序員必須謹慎使用。例如,雖然類型是類型的子類型,然而一個泛型類型為的并不是一個泛型類型為的的子類型。參考答案:代碼有編譯錯誤,在第二行出錯。一個泛型類型為的并不是一個泛型類型為的的子類型。4.請使用簡單代碼聲明一個枚舉類型,并說明枚舉的作用。解析:枚舉是5版本增加的新類型,在這之前,只有類和接口兩種類型。枚舉類型主要能夠解決靜態(tài)常量的類型不安全問題。例如,某類中有一系列型的靜態(tài)常量,并都賦予了特定的值。然而在使用這些常量時,完全可以用任意一個型的值代替,編譯器不會發(fā)現(xiàn)錯誤。而枚舉作為一種類型存在,編譯器將在編譯期檢查類型,不能隨意使用其他值代替,當應(yīng)用中需要一系列預(yù)定義的常量值時,程序員就應(yīng)該考慮是否使用枚舉實現(xiàn)。參考答案:枚舉使用關(guān)鍵字聲明,如下所示:使用枚舉的時候,可以通過枚舉的名字進行引用,如下所示:在使用方法時,實際參數(shù)值只能是枚舉中的預(yù)定義值,否則將出現(xiàn)編譯錯誤。5.假設(shè)有一個枚舉類型是,使用代碼展示遍歷該枚舉的方法。解析:枚舉中往往定義了一系列的數(shù)據(jù)點,在某些場合下可能需要遍歷這些值。程序員應(yīng)該掌握遍歷枚舉的方法。參考答案:遍歷枚舉需要使用()方法,如下所示:(g:){(g);6.增強循環(huán)再什么場合使用?用簡單代碼展現(xiàn)其使用方法。解析:增強循環(huán)式5版本增加的特性,只能在遍歷數(shù)組或集合時使用。遍歷集合時,最好使用泛型集合,否則將比較復(fù)雜。增強for循環(huán)并不能完全替代傳統(tǒng)循環(huán),如果不是遍歷數(shù)組或集合,還是只能使用傳統(tǒng)的for循環(huán)。參考答案:增強for循環(huán)可是用來遍歷數(shù)組或集合,如下所示:(s);上述代碼中的是一個類型的數(shù)組。7.什么是自動裝箱/拆箱?使用該特征有哪些注意事項?解析:自動裝箱/拆箱指的是八個包裝器類及八個基本類型的轉(zhuǎn)換問題。然而。這個特征卻需要謹慎使用,因為雖然表面上看起來非常方便,而實質(zhì)上依然需要創(chuàng)建對象、進行轉(zhuǎn)換等操作,使用不恰當會降低性能。參考答案:自動裝箱指的是可以直接將基本數(shù)據(jù)類型轉(zhuǎn)換為包裝器類型,自動拆箱指的是可以直接將包裝器類型轉(zhuǎn)換為基本數(shù)據(jù)類型,如下代碼所示:100;上訴代碼中,直接將m賦值給包裝器對象,這就是自動裝箱,然后直接將賦值給基本數(shù)據(jù)類型n,這就是自動拆箱。雖然表面上看代碼簡潔方便,然而本質(zhì)上裝箱時候依然使用創(chuàng)建了對象,而拆箱時也依然調(diào)用了方法進行運算。因此,不要在沒有必要的時候,頻繁使用裝箱拆箱,會降低性能。8.什么是可變參數(shù)?用簡單代碼展示可變參數(shù)的使用。解析:如果一個類中的某個方法,要接受某個類型的參數(shù),而參數(shù)個數(shù)卻不確定,這種情況下,可以將這個參數(shù)使用數(shù)組類型或者集合類型封裝,然而使用該方法時就比較麻煩,必須先把參數(shù)先封裝成數(shù)組或者集合??勺儏?shù)就能夠解決這個問題。參考答案:可變參數(shù)是指參數(shù)個數(shù)不確定的參數(shù),如下所示:上述方法的就是可變參數(shù),使用方法時,形式參數(shù)可以是任意多個型數(shù)值。1、作用域,以及不寫時的區(qū)別答:區(qū)別如下:作用域當前類同一子孫類其他不寫時默認為2、(匿名內(nèi)部類)是否可以(繼承)其它類,是否可以(實現(xiàn))(接口)答:匿名的內(nèi)部類是沒有名字的內(nèi)部類。不能(繼承)其它類,但一個內(nèi)部類可以作為一個接口,由另一個內(nèi)部類實現(xiàn)2、&和的區(qū)別答:&是位運算符,表示按位及運算,是邏輯運算符,表示邏輯及()5、和的區(qū)別答:是集合類的上級接口,繼承及他的接口主要有和.是針對集合類的一個幫助類,他提供一系列靜態(tài)方法實現(xiàn)對各種集合的搜索、排序、線程安全化等操作6、什么時候用答:(斷言)在軟件開發(fā)中是一種常用的調(diào)試方式,很多開發(fā)語言中都支持這種機制。在實現(xiàn)中,就是在程序中的一條語句,它對一個表達式進行檢查,一個正確程序必須保證這個表達式的值為;如果該值為,說明程序已經(jīng)處于不正確的狀態(tài)下,系統(tǒng)將給出警告或退出。一般來說,用于保證程序最基本、關(guān)鍵的正確性。檢查通常在開發(fā)和測試時開啟。為了提高性能,在軟件發(fā)布后,檢查通常是關(guān)閉的7、s=("");創(chuàng)建了幾個答:兩個,一個字符對象,一個字符對象引用對象8、(11.5)等於多少?(-11.5)等於多少答:(11.5)12(-11.5)11方法返回及參數(shù)最接近的長整數(shù)10、有沒有答:中的保留字,現(xiàn)在沒有在中使用11、數(shù)組有沒有()這個方法?有沒有()這個方法答:數(shù)組沒有()這個方法,有的屬性。有有()這個方法12、和的區(qū)別。的方法是否可以改變返回值的類型答:方法的重寫和重載是多態(tài)性的不同表現(xiàn)。重寫是父類及子類之間多態(tài)性的一種表現(xiàn),重載是一個類中多態(tài)性的一種表現(xiàn)。如果在子類中定義某方法及其父類有相同的名稱和參數(shù),我們說該方法被重寫()。子類的對象使用這個方法時,將調(diào)用子類中的定義,對它而言,父類中的定義如同被"屏蔽"了。如果在一個類中定義了多個同名的方法,它們或有不同的參數(shù)個數(shù)或有不同的參數(shù)類型,則稱為方法的重載()。的方法是可以改變返回值的類型13、里的元素是不能重復(fù)的,那么用什么方法來區(qū)分重復(fù)及否呢?是用還是()?它們有何區(qū)別答:里的元素是不能重復(fù)的,那么用()方法來區(qū)分重復(fù)及否。()是判讀兩個是否相等()和方法決定引用值是否指向同一對象()在類中被覆蓋,為的是當兩個分離的對象的內(nèi)容和類型相配的話,返回真值14、給我一個你最常見到的答:常見的運行時異常有如下這些,,,,,,,,,,,,,,,,,,,,,,,,,,15、和有什么區(qū)別答:表示恢復(fù)不是不可能但很困難的情況下的一種嚴重問題。比如說內(nèi)存溢出。不可能指望程序能處理這樣的情況表示一種設(shè)計或?qū)崿F(xiàn)問題。也就是說,它表示如果程序運行正常,從不會發(fā)生的情況16、,,是否繼承自接口答:,是,不是17、和有什么區(qū)別答:聲明方法的存在而不去實現(xiàn)它的類被叫做抽象類(),它用于要創(chuàng)建一個體現(xiàn)某些基本行為的類,并為該類聲明方法,但不能在該類中實現(xiàn)該類的情況。不能創(chuàng)建類的實例。然而可以創(chuàng)建一個變量,其類型是一個抽象類,并讓它指向具體子類的一個實例。不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。類的子類為它們父類中的所有抽象方法提供實現(xiàn),否則它們也是抽象類為。取而代之,在子類中實現(xiàn)該方法。知道其行為的其它類可以在類中實現(xiàn)這些方法接口()是抽象類的變體。在接口中,所有方法都是抽象的。多繼承性可通過實現(xiàn)這樣的接口而獲得。接口中的所有方法都是抽象的,沒有一個有程序體。接口只可以定義成員變量。接口的實現(xiàn)及子類相似,除了該實現(xiàn)類不能從接口定義中繼承行為。當類實現(xiàn)特殊接口時,它定義(即將程序體給予)所有這種接口的方法。然后,它可以在實現(xiàn)了該接口的類的任何對象上調(diào)用接口的方法。由于有抽象類,它允許使用接口名作為引用變量的類型。通常的動態(tài)聯(lián)編將生效。引用可以轉(zhuǎn)換到接口類型或從接口類型轉(zhuǎn)換,運算符可以用來決定某對象的類是否實現(xiàn)了接口18、的是否可同時是,是否可同時是,是否可同時是答:都不能19、接口是否可繼承接口?抽象類是否可實現(xiàn)()接口?抽象類是否可繼承實體類()答:接口可以繼承接口。抽象類可以實現(xiàn)()接口,抽象類是否可繼承實體類,但前提是實體類必須有明確的構(gòu)造函數(shù)20、構(gòu)造器是否可被答:構(gòu)造器不能被繼承,因此不能重寫,但可以被重載21、是否可以繼承類答:類是類故不可以繼承22、{}里有一個語句,那么緊跟在這個后的{}里的會不會被執(zhí)行,什么時候被執(zhí)行,在前還是后答:會執(zhí)行,在前執(zhí)行23、用最有效率的方法算出2乘以8答:2<<324、兩個對象值相同((y)),但卻可有不同的,這句話對不對答:不對,有相同的25、當一個對象被當作參數(shù)傳遞到一個方法后,此方法可改變這個對象的屬性,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞答:是值傳遞。編程語言只有值傳遞參數(shù)。當一個對象實例作為一個參數(shù)被傳遞到方法中時,參數(shù)的值就是對該對象的引用。對象的內(nèi)容可以在被調(diào)用的方法中改變,但對象的引用是永遠不會改變的26、是否能作用在上,是否能作用在上,是否能作用在上答:低版本中(1)中,1是一個整數(shù)表達式。因此傳遞給和語句的參數(shù)應(yīng)該是、、或者。都不能作用于。在高版本中,類型也可以用在中。27、和的區(qū)別和的區(qū)別答:就及主要從二方面來說.一.同步性是線程安全的,也就是說是同步的,而是線程序不安全的,不是同步的二.數(shù)據(jù)增長:當需要增長時默認增長為原來一培,而卻是原來的一半就及主要從三方面來說。一.歷史原因是基于陳舊的類的,是1.2引進的接口的一個實現(xiàn)二.同步性是線程安全的,也就是說是同步的,而是線程序不安全的,不是同步的三.值:只有可以讓你將空值作為一個表的條目的或28、型變量中能不能存貯一個中文漢字?為什么?答:是能夠定義成為一個中文的,因為中以編碼,一個占16個字節(jié),所以放一個中文是沒問題的29、是什么?為什么要有答:是垃圾收集的意思(),內(nèi)存處理是編程人員容易出現(xiàn)問題的地方,忘記或者錯誤的內(nèi)存回收會導(dǎo)致程序或系統(tǒng)的不穩(wěn)定甚至崩潰,提供的功能可以自動監(jiān)測對象是否超過作用域從而達到自動回收內(nèi)存的目的,語言沒有提供釋放已分配內(nèi)存的顯示操作方法。30、型3.4是否正確?答:不正確。精度不準確,應(yīng)該用強制類型轉(zhuǎn)換,如下所示:()3.431、介紹中的(包括如何寫自己的數(shù)據(jù)結(jié)構(gòu))?答:如下:└是最基本的集合接口,一個代表一組,即的元素()提供到的映射32、抽象類及接口?答:抽象類及接口都用于抽象,但是抽象類(中)可以有自己的部分實現(xiàn),而接口則完全是一個標識(同時有多重繼承的功能)。33和的區(qū)別。答:的長度是不可變的,的長度是可變的。如果你對字符串中的內(nèi)容經(jīng)常進行操作,特別是內(nèi)容要修改時,那么使用,如果最后需要,那么使用的()方法34、談?wù)?,的區(qū)別答:—修飾符(關(guān)鍵字)如果一個類被聲明為,意味著它不能再派生出新的子類,不能作為父類被繼承。因此一個類不能既被聲明為的,又被聲明為的。將變量或方法聲明為,可以保證它們在使用中不被改變。被聲明為的變量必須在聲明時給定初值,而在以后的引用中只能讀取,不可修改。被聲明為的方法也同樣只能使用,不能重載—再異常處理時提供塊來執(zhí)行任何清除操作。如果拋出一個異常,那么相匹配的子句就會執(zhí)行,然后控制就會進入塊(如果有的話)—方法名。技術(shù)允許使用()方法在垃圾收集器將對象從內(nèi)存中清除出去之前做必要的清理工作。這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個對象調(diào)用的。它是在類中定義的,因此所有的類都繼承了它。子類覆蓋()方法以整理系統(tǒng)資源或者執(zhí)行其他清理工作。()方法是在垃圾收集器刪除對象之前對這個對象調(diào)用的35、面向?qū)ο蟮奶卣饔心男┓矫娲穑褐饕幸韵滤姆矫妫?.抽象:抽象就是忽略一個主題中及當前目標無關(guān)的那些方面,以便更充分地注意及當前目標有關(guān)的方面。抽象并不打算了解全部問題,而只是選擇其中的一部分,暫時不用部分細節(jié)。抽象包括兩個方面,一是過程抽象,二是數(shù)據(jù)抽象。2.繼承:繼承是一種聯(lián)結(jié)類的層次模型,并且允許和鼓勵類的重用,它提供了一種明確表述共性的方法。對象的一個新類可以從現(xiàn)有的類中派生,這個過程稱為類繼承。新類繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的基類那里繼承方法和實例變量,并且類可以修改或增加新的方法使之更適合特殊的需要。3.封裝:封裝是把過程和數(shù)據(jù)包圍起來,對數(shù)據(jù)的訪問只能通過已定義的界面。面向?qū)ο笥嬎闶加谶@個基本概念,即現(xiàn)實世界可以被描繪成一系列完全自治、封裝的對象,這些對象通過一個受保護的接口訪問其他對象。4.多態(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ù)類型包括、、、、、、和。類是類型的,因此不可以繼承這個類、不能修改這個類。為了提高效率節(jié)省空間,我們應(yīng)該用類37、和有什么區(qū)別答:提供兩種不同的類型:引用類型和原始類型(或內(nèi)置類型)。是的原始數(shù)據(jù)類型,是為提供的封裝類。為每個原始類型提供了封裝類。原始類型封裝類,引用類型和原始類型的行為完全不同,并且它們具有不同的語義。引用類型和原始類型具有不同的特征和用法,它們包括:大小和速度問題,這種類型以哪種類型的數(shù)據(jù)結(jié)構(gòu)存儲,當引用類型和原始類型用作某個類的實例數(shù)據(jù)時所指定的缺省值。對象引用實例變量的缺省值為,而原始類型實例變量的缺省值及它們的類型有關(guān)38、運行時異常及一般異常有何異同答:異常表示程序運行過程中可能出現(xiàn)的非正常狀態(tài),運行時異常表示虛擬機的通常操作中可能遇到的異常,是一種常見運行錯誤。編譯器要求方法必須聲明拋出可能發(fā)生的非運行時異常,但是并不要求必須聲明拋出未被捕獲的運行時異常。39、說出,的存儲性能和特性答:和都是使用數(shù)組方式存儲數(shù)據(jù),此數(shù)組元素數(shù)大于實際存儲的數(shù)據(jù)以便增加和插入元素,它們都允許直接按序號索引元素,但是插入元素要涉及數(shù)組元素移動等內(nèi)存操作,所以索引數(shù)據(jù)快而插入數(shù)據(jù)慢,由于使用了方法(線程安全),通常性能上較差,而使用雙向鏈表實現(xiàn)存儲,按序號索引數(shù)據(jù)需要進行前向或后向遍歷,但是插入數(shù)據(jù)時只需要記錄本項的前后項即可,所以插入速度較快。40、和的區(qū)別答:是的輕量級實現(xiàn)(非線程安全的實現(xiàn)),他們都完成了接口,主要區(qū)別在于允許空()鍵值(),由于非線程安全,效率上可能高于。允許將作為一個的或者,而不允許。把的方法去掉了,改成和。因為方法容易讓人引起誤解。繼承自類,而是1.2引進的的一個實現(xiàn)。最大的不同是,的方法是的,而不是,在多個線程訪問時,不需要自己為它的方法實現(xiàn)同步,而就必須為之提供外同步。和采用的算法都大概一樣,所以性能不會有很大的差異。41、和有什么區(qū)別答:棧是一種線形集合,其添加和刪除元素的操作應(yīng)在同一段完成。棧按照后進先出的方式進行處理。堆是棧的一個組成元素42、中的異常處理機制的簡單原理和應(yīng)用答:當程序違反了的語義規(guī)則時,虛擬機就會將發(fā)生的錯誤表示為一個異常。違反語義規(guī)則包括2種情況。一種是類庫內(nèi)置的語義檢查。例如數(shù)組下標越界,會引發(fā);訪問的對象時會引發(fā)。另一種情況就是允許程序員擴展這種語義檢查,程序員可以創(chuàng)建自己的異常,并自由選擇在何時用關(guān)鍵字引發(fā)異常。所有的異常都是的子類。43、垃圾回收的優(yōu)點和原理。并考慮2種回收機制答:語言中一個顯著的特點就是引入了垃圾回收機制,使程序員最頭疼的內(nèi)存管理的問題迎刃而解,它使得程序員在編寫程序的時候不再需要考慮內(nèi)存管理。由于有個垃圾回收機制,中的對象不再有"作用域"的概念,只有對象的引用才有"作用域"。垃圾回收可以有效的防止內(nèi)存泄露,有效的使用可以使用的內(nèi)存。垃圾回收器通常是作為一個單獨的低級別的線程運行,不可預(yù)知的情況下對內(nèi)存堆中已經(jīng)死亡的或者長時間沒有使用的對象進行清楚和回收,程序員不能實時的調(diào)用垃圾回收器對某個對象或所有對象進行垃圾回收?;厥諜C制有分代復(fù)制垃圾回收和標記垃圾回收,增量垃圾回收。44、你所知道的集合類都有哪些?主要方法?答:最常用的集合類是和。的具體實現(xiàn)包括和,它們是可變大小的列表,比較適合構(gòu)建、存儲和操作任何類型對象的元素列表。適用于按數(shù)值索引訪問元素的情形。提供了一個更通用的元素存儲方法。集合類用于存儲元素對(稱作"鍵"和"值"),其中每個鍵映射到一個值。45、描述一下加載文件的原理機制?答:中類的裝載是由和它的子類來實現(xiàn)的是一個重要的運行時系統(tǒng)組件。它負責在運行時查找和裝入類文件的類。46、排序都有哪幾種方法?請列舉答:排序的方法有:插入排序(直接插入排序、希爾排序),交換排序(冒泡排序、快速排序),選擇排序(直接選擇排序、堆排序),歸并排序,分配排序(箱排序、基數(shù)排序)47、語言如何進行異常處理,關(guān)鍵字:分別代表什么意義?在塊中可以拋出異常嗎?答:通過面向?qū)ο蟮姆椒ㄟM行異常處理,把各種不同的異常進行分類,并提供了良好的接口。在中,每個異常都是一個對象,它是類或其它子類的實例。當一個方法出現(xiàn)異常后便拋出一個異常對象,該對象中包含有異常信息,調(diào)用這個對象的方法可以捕獲到這個異常并進行處理。的異常處理是通過5個關(guān)鍵詞來實現(xiàn)的:、、、和。一般情況下是用來執(zhí)行一段程序,如果出現(xiàn)異常,系統(tǒng)會拋出()一個異常,這時候你可以通過它的類型來捕捉()它,或最后()由缺省處理器來處理。用來指定一塊預(yù)防所有"異常"的程序。緊跟在程序后面,應(yīng)包含一個子句來指定你想要捕捉的"異常"的類型。語句用來明確地拋出一個"異常"。用來標明一個成員函數(shù)可能拋出的各種"異常"。為確保一段代碼不管發(fā)生什么"異常"都被執(zhí)行一段代碼??梢栽谝粋€成員函數(shù)調(diào)用的外面寫一個語句,在這個成員函數(shù)內(nèi)部寫另一個語句保護其他代碼。每當遇到一個語句,"異常"的框架就放到堆棧上面,直到所有的語句都完成。如果下一級的語句沒有對某種"異常"進行處理,堆棧就會展開,直到遇到有處理這種"異常"的語句。48、一個""源文件中是否可以包括多個類(不是內(nèi)部類)?有什么限制?答:可以。必須只有一個類名及文件名相同。49、中有幾種類型的流?為每種類型的流提供了一些抽象類以供繼承,請說出他們分別是哪些類?答:字節(jié)流,字符流。字節(jié)流繼承于,字符流繼承于。在包中還有許多其他的流,主要是為了提高性能和使用方便。50、中會存在內(nèi)存泄漏嗎,請簡單描述。答:會。自己實現(xiàn)堆載的數(shù)據(jù)結(jié)構(gòu)時有可能會出現(xiàn)內(nèi)存泄露,可參看.51、中實現(xiàn)多態(tài)的機制是什么?答:方法的重寫和重載是多態(tài)性的不同表現(xiàn)。重寫是父類及子類之間多態(tài)性的一種表現(xiàn),重載是一個類中多態(tài)性的一種表現(xiàn)。52、垃圾回收器的基本原理是什么?垃圾回收器可以馬上回收內(nèi)存嗎?有什么辦法主動通知虛擬機進行垃圾回收答:對于來說,當程序員創(chuàng)建對象時,就開始監(jiān)控這個對象的地址、大小以及使用情況。通常,采用有向圖的方式記錄和管理堆()中的所有對象。通過這種方式確定哪些對象是"可達的",哪些對象是"不可達的"。當確定一些對象為"不可達"時,就有責任回收這些內(nèi)存空間??梢浴3绦騿T可以手動執(zhí)行(),通知運行,但是語言規(guī)范并不保證一定會執(zhí)行。53、靜態(tài)變量和實例變量的區(qū)別?答:i=10;常量Aa;=10可變54、什么是序列化,如何實現(xiàn)序列化?答:序列化就是一種用來處理對象流的機制,所謂對象流也就是將對象的內(nèi)容進行流化??梢詫α骰蟮膶ο筮M行讀寫操作,也可將流化后的對象傳輸于網(wǎng)絡(luò)之間。序列化是為了解決在對對象流進行讀寫操作時所引發(fā)的問題。序列化的實現(xiàn):將需要被序列化的類實現(xiàn)接口,該接口沒有需要實現(xiàn)的方法,只是為了標注該對象是可被序列化的,然后使用一個輸出流(如:)來構(gòu)造一個(對象流)對象,接著,使用對象的()方法就可以將參數(shù)為的對象寫出(即保存其狀態(tài)),要恢復(fù)的話則用輸入流。55、是否可以從一個方法內(nèi)部發(fā)出對非方法的調(diào)用?答:不可以,如果其中包含對象的();不能保證對象初始化.56、寫()方法時,通常都有一行代碼,是什么?答:有缺省行為,();他負責產(chǎn)生正確大小的空間,并逐位復(fù)制。

溫馨提示

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

評論

0/150

提交評論