freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

java基礎(chǔ)筆試題(編輯修改稿)

2025-07-04 13:34 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 反語(yǔ)義規(guī)則包括2種情況。一種是JAVA類庫(kù)內(nèi)置的語(yǔ)義檢查。例如數(shù)組下標(biāo)越界,會(huì)引發(fā)IndexOutOfBoundsException。訪問(wèn)null的對(duì)象時(shí)會(huì)引發(fā)NullPointerException。另一種情況就是JAVA允許程序員擴(kuò)展這種語(yǔ)義檢查,程序員可以創(chuàng)建自己的異常,并自由選擇在何時(shí)用throw關(guān)鍵字引發(fā)異常。4垃圾回收的優(yōu)點(diǎn)和原理。并考慮2種回收機(jī)制答:Java語(yǔ)言中一個(gè)顯著的特點(diǎn)就是引入了垃圾回收機(jī)制,使c++程序員最頭疼的內(nèi)存管理的問(wèn)題迎刃而解,它使得Java程序員在編寫(xiě)程序的時(shí)候不再需要考慮內(nèi)存管理。由于有個(gè)垃圾回收機(jī)制,Java中的對(duì)象不再有作用域的概念,只有對(duì)象的引用才有作用域。垃圾回收可以有效的防止內(nèi)存泄露,有效的使用可以使用的內(nèi)存。垃圾回收器通常是作為一個(gè)單獨(dú)的低級(jí)別的線程運(yùn)行,不可預(yù)知的情況下對(duì)內(nèi)存堆中已經(jīng)死亡的或者長(zhǎng)時(shí)間沒(méi)有使用的對(duì)象進(jìn)行清楚和回收,程序員不能實(shí)時(shí)的調(diào)用垃圾回收器對(duì)某個(gè)對(duì)象或所有對(duì)象進(jìn)行垃圾回收?;厥諜C(jī)制有分代復(fù)制垃圾回收和標(biāo)記垃圾回收,增量垃圾回收。4你所知道的集合類都有哪些?主要方法?答:最常用的集合類是List和Map。List的具體實(shí)現(xiàn)包括ArrayList和Vector,它們是可變大小的列表,比較適合構(gòu)建、存儲(chǔ)和操作任何類型對(duì)象的元素列表。List適用于按數(shù)值索引訪問(wèn)元素的情形。Map提供了一個(gè)更通用的元素存儲(chǔ)方法。Map集合類用于存儲(chǔ)元素對(duì)(稱作鍵和值),其中每個(gè)鍵映射到一個(gè)值。4描述一下JVM加載class文件的原理機(jī)制?答:JVM中類的裝載是由ClassLoader和它的子類來(lái)實(shí)現(xiàn)的,JavaClassLoader是一個(gè)重要的Java運(yùn)行時(shí)系統(tǒng)組件。它負(fù)責(zé)在運(yùn)行時(shí)查找和裝入類文件的類。4排序都有哪幾種方法?請(qǐng)列舉答:排序的方法有:插入排序(直接插入排序、希爾排序),交換排序(冒泡排序、快速排序),選擇排序(直接選擇排序、堆排序),歸并排序,分配排序(箱排序、基數(shù)排序)快速排序的偽代碼。//使用快速排序方法對(duì)a[0:n1]排序從a[0:n1]中選擇一個(gè)元素作為middle,該元素為支點(diǎn)把余下的元素分割為兩段left和right,使得left中的元素都小于等于支點(diǎn),而right中的元素都大于等于支點(diǎn)遞歸地使用快速排序方法對(duì)left進(jìn)行排序遞歸地使用快速排序方法對(duì)right進(jìn)行排序所得結(jié)果為left+middle+right4JAVA語(yǔ)言如何進(jìn)行異常處理,關(guān)鍵字:throws,throw,try,catch,finally分別代表什么意義?在try塊中可以拋出異常嗎?答:Java通過(guò)面向?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è)異常并進(jìn)行處理。Java的異常處理是通過(guò)5個(gè)關(guān)鍵詞來(lái)實(shí)現(xiàn)的:try、catch、throw、throws和finally。一般情況下是用try來(lái)執(zhí)行一段程序,如果出現(xiàn)異常,系統(tǒng)會(huì)拋出(throws)一個(gè)異常,這時(shí)候你可以通過(guò)它的類型來(lái)捕捉(catch)它,或最后(finally)由缺省處理器來(lái)處理。用try來(lái)指定一塊預(yù)防所有異常的程序。緊跟在try程序后面,應(yīng)包含一個(gè)catch子句來(lái)指定你想要捕捉的異常的類型。throw語(yǔ)句用來(lái)明確地拋出一個(gè)異常。throws用來(lái)標(biāo)明一個(gè)成員函數(shù)可能拋出的各種異常。Finally為確保一段代碼不管發(fā)生什么異常都被執(zhí)行一段代碼??梢栽谝粋€(gè)成員函數(shù)調(diào)用的外面寫(xiě)一個(gè)try語(yǔ)句,在這個(gè)成員函數(shù)內(nèi)部寫(xiě)另一個(gè)try語(yǔ)句保護(hù)其他代碼。每當(dāng)遇到一個(gè)try語(yǔ)句,異常的框架就放到堆棧上面,直到所有的try語(yǔ)句都完成。如果下一級(jí)的try語(yǔ)句沒(méi)有對(duì)某種異常進(jìn)行處理,堆棧就會(huì)展開(kāi),直到遇到有處理這種異常的try語(yǔ)句。4一個(gè).java源文件中是否可以包括多個(gè)類(不是內(nèi)部類)?有什么限制?答:可以。必須只有一個(gè)類名與文件名相同。4java中有幾種類型的流?JDK為每種類型的流提供了一些抽象類以供繼承,請(qǐng)說(shuō)出他們分別是哪些類?答:字節(jié)流,字符流。字節(jié)流繼承于InputStreamOutputStream,字符流繼承于InputStreamReaderOutputStreamWriter。,主要是為了提高性能和使用方便。50、java中會(huì)存在內(nèi)存泄漏嗎,請(qǐng)簡(jiǎn)單描述。答:會(huì)。自己實(shí)現(xiàn)堆載的數(shù)據(jù)結(jié)構(gòu)時(shí)有可能會(huì)出現(xiàn)內(nèi)存泄露,可參看effective java.5java中實(shí)現(xiàn)多態(tài)的機(jī)制是什么?答:方法的重寫(xiě)Overriding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。重寫(xiě)Overriding是父類與子類之間多態(tài)性的一種表現(xiàn),重載Overloading是一個(gè)類中多態(tài)性的一種表現(xiàn)。5垃圾回收器的基本原理是什么?垃圾回收器可以馬上回收內(nèi)存嗎?有什么辦法主動(dòng)通知虛擬機(jī)進(jìn)行垃圾回收答:對(duì)于GC來(lái)說(shuō),當(dāng)程序員創(chuàng)建對(duì)象時(shí),GC就開(kāi)始監(jiān)控這個(gè)對(duì)象的地址、大小以及使用情況。通常,GC采用有向圖的方式記錄和管理堆(heap)中的所有對(duì)象。通過(guò)這種方式確定哪些對(duì)象是可達(dá)的,哪些對(duì)象是不可達(dá)的。當(dāng)GC確定一些對(duì)象為不可達(dá)時(shí),GC就有責(zé)任回收這些內(nèi)存空間??梢浴?),通知GC運(yùn)行,但是Java語(yǔ)言規(guī)范并不保證GC一定會(huì)執(zhí)行。5靜態(tài)變量和實(shí)例變量的區(qū)別?答:statici=10。//常量classAa。=10。//可變5什么是java序列化,如何實(shí)現(xiàn)java序列化?答:序列化就是一種用來(lái)處理對(duì)象流的機(jī)制,所謂對(duì)象流也就是將對(duì)象的內(nèi)容進(jìn)行流化??梢詫?duì)流化后的對(duì)象進(jìn)行讀寫(xiě)操作,也可將流化后的對(duì)象傳輸于網(wǎng)絡(luò)之間。序列化是為了解決在對(duì)對(duì)象流進(jìn)行讀寫(xiě)操作時(shí)所引發(fā)的問(wèn)題。序列化的實(shí)現(xiàn):將需要被序列化的類實(shí)現(xiàn)Serializable接口,該接口沒(méi)有需要實(shí)現(xiàn)的方法,implementsSerializable只是為了標(biāo)注該對(duì)象是可被序列化的,然后使用一個(gè)輸出流(如:FileOutputStream)來(lái)構(gòu)造一個(gè)ObjectOutputStream(對(duì)象流)對(duì)象,接著,使用ObjectOutputStream對(duì)象的writeObject(Objectobj)方法就可以將參數(shù)為obj的對(duì)象寫(xiě)出(即保存其狀態(tài)),要恢復(fù)的話則用輸入流。5是否可以從一個(gè)static方法內(nèi)部發(fā)出對(duì)非static方法的調(diào)用?答:不可以,如果其中包含對(duì)象的method();不能保證對(duì)象初始化.5寫(xiě)clone()方法時(shí),通常都有一行代碼,是什么?答:Clone有缺省行為,()。他負(fù)責(zé)產(chǎn)生正確大小的空間,并逐位復(fù)制。5在JAVA中,如何跳出當(dāng)前的多重嵌套循環(huán)?答:用break。return方法。5List、Map、Set三個(gè)接口,存取元素時(shí),各有什么特點(diǎn)?答:List以特定次序來(lái)持有元素,可有重復(fù)元素。Set無(wú)法擁有重復(fù)元素,內(nèi)部排序。Map保存keyvalue值,value可多值。5說(shuō)出一些常用的類,包,接口,請(qǐng)各舉5個(gè)答:常用的類:BufferedReaderBufferedWriterFileReaderFileWirterStringInteger常用的包:常用的接口:RemoteListMapDocumentNodeList線程編程方面 60、java中有幾種方法可以實(shí)現(xiàn)一個(gè)線程?用什么關(guān)鍵字修飾同步方法?stop()和suspend()方法為何不推薦使用?答:有兩種實(shí)現(xiàn)方法,分別是繼承Thread類與實(shí)現(xiàn)Runnable接口用synchronized關(guān)鍵字修飾同步方法反對(duì)使用stop(),是因?yàn)樗话踩?。它?huì)解除由線程獲取的所有鎖定,而且如果對(duì)象處于一種不連貫狀態(tài),那么其他線程能在那種狀態(tài)下檢查和修改它們。結(jié)果很難檢查出真正的問(wèn)題所在。suspend()方法容易發(fā)生死鎖。調(diào)用suspend()的時(shí)候,目標(biāo)線程會(huì)停下來(lái),但卻仍然持有在這之前獲得的鎖定。此時(shí),其他任何線程都不能訪問(wèn)鎖定的資源,除非被掛起的線程恢復(fù)運(yùn)行。對(duì)任何線程來(lái)說(shuō),如果它們想恢復(fù)目標(biāo)線程,同時(shí)又試圖使用任何一個(gè)鎖定的資源,就會(huì)造成死鎖。所以不應(yīng)該使用suspend(),而應(yīng)在自己的Thread類中置入一個(gè)標(biāo)志,指出線程應(yīng)該活動(dòng)還是掛起。若標(biāo)志指出線程應(yīng)該掛起,便用wait()命其進(jìn)入等待狀態(tài)。若標(biāo)志指出線程應(yīng)當(dāng)恢復(fù),則用一個(gè)notify()重新啟動(dòng)線程。6sleep()和wait()有什么區(qū)別?答:sleep是線程類(Thread)的方法,導(dǎo)致此線程暫停執(zhí)行指定時(shí)間,給執(zhí)行機(jī)會(huì)給其他線程,但是監(jiān)控狀態(tài)依然保持,到時(shí)后會(huì)自動(dòng)恢復(fù)。調(diào)用sleep不會(huì)釋放對(duì)象鎖。wait是Object類的方法,對(duì)此對(duì)象調(diào)用wait方法導(dǎo)致本線程放棄對(duì)象鎖,進(jìn)入等待此對(duì)象的等待鎖定池,只有針對(duì)此
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1