版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、1、運行時異常與一般異常有何異同?、運行時異常與一般異常有何異同?異常表示程序運行過程中可能出現(xiàn)的非正常狀態(tài),運行時異常表示虛擬機的通常操作中可能遇到的異常,是一種常見運行錯誤。java編譯器要求方法必須聲明拋出可能發(fā)生的非運行時異常,但是并不要求必須聲明拋出未被捕獲的運行時異常。2、說出、說出ArrayListVectLinkedList的存儲性能和特性的存儲性能和特性ArrayList和Vect都是使用數(shù)組方式存儲數(shù)據(jù),此數(shù)組元素數(shù)
2、大于實際存儲的數(shù)據(jù)以便增加和插入元素,它們都允許直接按序號索引元素,但是插入元素要涉及數(shù)組元素移動等內(nèi)存操作,所以索引數(shù)據(jù)快而插入數(shù)據(jù)慢,Vect由于使用了synchronized方法(線程安全),通常性能上較ArrayList差,而LinkedList使用雙向鏈表實現(xiàn)存儲,按序號索引數(shù)據(jù)需要進行前向或后向遍歷,但是插入數(shù)據(jù)時只需要記錄本項的前后項即可,所以插入速度較快。3、finalfinallyfinalize的區(qū)別。的區(qū)別。fin
3、al用于聲明屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承。finally是異常處理語句結(jié)構(gòu)的一部分,表示總是執(zhí)行。finalize是Object類的一個方法,在垃圾收集器執(zhí)行的時候會調(diào)用被回收對象的此方法,可以覆蓋此方法提供垃圾收集時的其他資源回收,例如關(guān)閉文件等。4、sleep()和wait()有什么區(qū)別有什么區(qū)別sleep是線程類(Thread)的方法,導(dǎo)致此線程暫停執(zhí)行指定時間,給執(zhí)行機會給其他線程,但是監(jiān)控狀態(tài)依
4、然保持,到時后會自動恢復(fù)。調(diào)用sleep不會釋放對象鎖。wait是Object類的方法,對此對象調(diào)用wait方法導(dǎo)致本線程放棄對象鎖,進入等待此對象的等待鎖定池,只有針對此對象發(fā)出notify方法(或notifyAll)后本線程才進入對象鎖定池準(zhǔn)備獲得對象鎖進入運行狀態(tài)。5、同步和異步有何異同,在什么情況下分別使用他們?舉例說明。、同步和異步有何異同,在什么情況下分別使用他們?舉例說明。如果數(shù)據(jù)將在線程間共享。例如正在寫的數(shù)據(jù)以后可能被
5、另一個線程讀到,或者正在讀的數(shù)據(jù)可能已經(jīng)被另一個線程寫過了,那么這些數(shù)據(jù)就是共享數(shù)據(jù),必須進行同步存取。當(dāng)應(yīng)用程序在對象上調(diào)用了一個需要花費很長時間來執(zhí)行的方法,并且不希望讓程序等待方法的返回時,就應(yīng)該使用異步編程,在很多情況下采用異步途徑往往更有效率。6、到底、到底Java是如何傳遞參數(shù)的?是是如何傳遞參數(shù)的?是byvalue或byreference?Allparameters(valuesofprimitivetypesvalues
6、thatarereferencestoobjects)arepassedbyvalue[JLSsect8.4.1]。根據(jù)以上Java規(guī)格文件的說法所有參數(shù)應(yīng)該都是傳值的(byvalue)。但實際上實際經(jīng)驗卻告訴我們所有Java的對象都是傳址的(byreference)。因此我們可以這樣解釋:基本類型(如intfloat等)是byvalue,而所謂“對象”(Object)則是byvalueofreferencetoobject7、繼承了一
7、個、繼承了一個class叫做叫做Frotz,編譯器卻給我,編譯器卻給我“NoconstuctFrotz()intheclass”這樣的錯誤提示,為什么呢?這樣的錯誤提示,為什么呢?10、接口是否可繼承接口、接口是否可繼承接口抽象類是否可實現(xiàn)抽象類是否可實現(xiàn)(implements)接口接口抽象類是否可繼承實體類?象類是否可繼承實體類?接口可以繼承接口。抽象類可以實現(xiàn)(implements)接口,抽象類可繼承實體類,但前提是實體類必須有明確
8、的構(gòu)造函數(shù)。11、abstract的method是否可同時是是否可同時是static是否可同時是是否可同時是native,是否可同時是是否可同時是synchronized都不能。12、Set里的元素是不能重復(fù)的,那么用什么方法來區(qū)分重復(fù)與否呢里的元素是不能重復(fù)的,那么用什么方法來區(qū)分重復(fù)與否呢是用是用==還是還是equals()它們有何區(qū)別它們有何區(qū)別==用來判斷基本數(shù)據(jù)類型的值是否相等或判斷對象的地址是否相等。equals()是Obj
9、ect類中的方法,通過覆蓋該方法可以判斷某兩個對象是否相等。綜上,如果Set中裝的是基本類型數(shù)據(jù),應(yīng)用==判斷(1.5以后,由于出現(xiàn)了自動封裝,亦可以用equals()方法比較);如果裝的是對象類型,則應(yīng)用equals()方法判斷。13、請說出你所知道的線程同步的方法。、請說出你所知道的線程同步的方法。wait():使一個線程處于等待狀態(tài),并且釋放所持有的對象的lock。sleep():使一個正在運行的線程處于睡眠狀態(tài),是一個靜態(tài)方法,
10、調(diào)用此方法要捕捉InterruptedException異常。notify():喚醒一個處于等待狀態(tài)的線程,注意的是在調(diào)用此方法的時候,并不能確切的喚醒某一個等待狀態(tài)的線程,而是由JVM確定喚醒哪個線程,而且不是按優(yōu)先級。Allnotity():喚醒所有處入等待狀態(tài)的線程,注意并不是給所有喚醒線程一個對象的鎖,而是讓它們競爭。14、描述一下、描述一下JVM加載加載class文件的原理機制文件的原理機制JVM中類的裝載是由ClassLoa
11、der和它的子類來實現(xiàn)的JavaClassLoader是一個重要的Java運行時系統(tǒng)組件。它負(fù)責(zé)在運行時查找和裝入類文件的類。15、J2EE是技術(shù)還是平臺還是框架?是技術(shù)還是平臺還是框架?J2EE本身是一個標(biāo)準(zhǔn),一個為企業(yè)分布式應(yīng)用的開發(fā)提供的標(biāo)準(zhǔn)平臺。J2EE也是一個框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技術(shù)。16、簡述邏輯操作、簡述邏輯操作(&|^)與條件操作與條件操作(&&||)的區(qū)別。的區(qū)別。區(qū)別主要答兩
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論