>
學(xué)校機(jī)構(gòu) >
沈陽吉大計(jì)算機(jī)培訓(xùn)學(xué)校 >
學(xué)習(xí)資訊>
2017年計(jì)算機(jī)軟考:java程序員面試10道題
2017年計(jì)算機(jī)軟考:java程序員面試10道題
42 2017-04-27
1、HashMap和Hashtable的區(qū)別。
都屬于Map接口的類,實(shí)現(xiàn)了將惟一鍵映射到特定的值上。HashMap類沒有分類或者排序。它允許一個null鍵和多個null值。Hashtable類似于HashMap,但是不允許null鍵和null值。它也比HashMap慢,因?yàn)樗峭降?,是線程安全的。
方法/步驟
2、sleep()和wait()有什么區(qū)別?
sleep是線程類(Thread)的方法,導(dǎo)致此線程暫停執(zhí)行指定時間,給執(zhí)行機(jī)會給其他線程,但是監(jiān)控狀態(tài)依然保持,到時后會自動恢復(fù)。調(diào)用sleep不會釋放對象鎖。wait是Object類的方法,對此對象調(diào)用wait方法導(dǎo)致本線程放棄對象鎖,進(jìn)入等待此對象的等待鎖定池,只有針對此對象發(fā)出notify方法(或notifyAll)后本線程才進(jìn)入對象鎖定池準(zhǔn)備獲得對象鎖進(jìn)入運(yùn)行狀態(tài)。
3、Collection和Collections的區(qū)別。
Collections是個java.util下的類,它包含有各種有關(guān)集合操作的靜態(tài)方法。
Collection是個java.util下的接口,它是各種集合結(jié)構(gòu)的父接口。
4、什么時候用assert.
assertion(斷言)在軟件開發(fā)中是一種常用的調(diào)試方式,很多開發(fā)語言中都支持這種機(jī)制。在實(shí)現(xiàn)中,assertion就是在程序中的一條語句,它對一個boolean表達(dá)式進(jìn)行檢查,一個正確程序必須保證這個boolean表達(dá)式的值為true;如果該值為false,說明程序已經(jīng)處于不正確的狀態(tài)下,系統(tǒng)將給出警告或退出。一般來說,assertion用于保證程序最基本、關(guān)鍵的正確性。assertion檢查通常在開發(fā)和測試時開啟。為了提高性能,在軟件發(fā)布后,assertion檢查通常是關(guān)閉的。
5、&和&&的區(qū)別
&是兩個數(shù)相與,是位運(yùn)算符,&&是布爾邏輯運(yùn)算符,連接兩個條件表達(dá)式的,兩個條件表達(dá)式都為真時,整個才為真
6、談?wù)刦inal,finally,finalize的區(qū)別
final:修飾符(關(guān)鍵字)如果一個類被聲明為final,意味著它不能再派生出新的子類,不能作為父類被繼承。因此一個類不能既被聲明為abstract的,又被聲明為final的。將變量或方法聲明為final,可以保證它們在使用中不被改變。被聲明為final的變量必須在聲明時給定初值,而在以后的引用中只能讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重載。
finally:在異常處理時提供finally塊來執(zhí)行任何清除操作。如果拋出一個異常,那么相匹配的catch子句就會執(zhí)行,然后控制就會進(jìn)入finally塊(如果有的話)。
finalize:方法名。Java技術(shù)允許使用finalize()方法在垃圾收集器將對象從內(nèi)存中清除出去之前做必要的清理工作。這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個對象調(diào)用的。它是在Object類中定義的,因此所有的類都繼承了它。子類覆蓋finalize()方法以整理系統(tǒng)資源或者執(zhí)行其他清理工作。finalize()方法是在垃圾收集器刪除對象之前對這個對象調(diào)用的。
7、AnonymousInnerClass(匿名內(nèi)部類)是否可以extends(繼承)其它類,是否可以implements(實(shí)現(xiàn))interface(接口)?
匿名的內(nèi)部類是沒有名字的內(nèi)部類。不能繼承其它類,但一個內(nèi)部類可以作為一個接口,由另一個內(nèi)部類實(shí)現(xiàn)。
8、Math.round(11.5)等於多少?Math.round(-11.5)等於多少?
Math.round(11.5)返回(long)12,Math.round(-11.5)返回(long)-11;因?yàn)榉祷刈罱咏鼌?shù)的long.通過加上1/2將該結(jié)果舍入為整數(shù),取結(jié)果的基數(shù)并將其強(qiáng)制轉(zhuǎn)換為long類型。換句話說,結(jié)果等于以下表達(dá)式的值:(long)Math.floor(a+0.5d)
9、StaticNestedClass和InnerClass的不同,說得越多越好(面試題有的很籠統(tǒng))
Staticnestedclass(嵌套類)是將內(nèi)部類聲明為static.普通內(nèi)部類對象隱式地保存了一個引用,指向創(chuàng)建它的外圍類對象,不能有static數(shù)據(jù)和static字段。嵌套類意味著:1>要創(chuàng)建嵌套類的對象,并不需要其外圍類的對象;2>不能從嵌套類的對象中訪問非靜態(tài)的外圍類的對象。
10、ArrayList和Vector的區(qū)別
1>同步性:Vector是線程安全的,也就是說是同步的,而ArrayList是線程序不安全的,不是同步的2>數(shù)據(jù)增長:當(dāng)需要增長時,Vector默認(rèn)增長為原來一培,而ArrayList卻是原來的一半。
掃一掃
獲取更多福利
獵學(xué)網(wǎng)企業(yè)微信
獵學(xué)網(wǎng)訂閱號
獵學(xué)網(wǎng)服務(wù)號