熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

探討Java中最常見的十道面試題

2013-11-15 11:55:39  來源: JSP教程 

  第一談談final finally finalize的區別
final?修飾符(關鍵字) 如果一個類被聲明為final意味著它不能再派生出新的子類不能作為父類被繼承因此一個類不能既被聲明為 abstract的又被聲明為final的將變量或方法聲明為final可以保證它們在使用中不被改變被聲明為final的變量必須在聲明時給定 初值而在以後的引用中只能讀取不可修改被聲明為final的方法也同樣只能使用不能重載
finally?再異常處理時提供 finally 塊來執行任何清除操作如果拋出一個異常那麼相匹配的 catch 子句就會執行然後控制就會進入 finally 塊(如果有的話)
finalize? 方法名Java 技術允許使用 finalize() 方法在垃圾收集器將對象從內存中清除出去之前做必要的清理工作這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個對象調用的它是在 Object類中定義的因此所有的類都繼承了它子類覆蓋 finalize() 方法以整理系統資源或者執行其他清理工作finalize() 方法是在垃圾收集器刪除對象之前對這個對象調用的

  第二HashMap和Hashtable的區別
都屬於Map接口的類實現了將惟一鍵映射到特定的值上
HashMap 類沒有分類或者排序它允許一個 null 鍵和多個 null 值
Hashtable 類似於 HashMap但是不允許 null 鍵和 null 值它也比 HashMap 慢因為它是同步的

  第三String s = new String("xyz");創建了幾個String Object?
兩個對象一個是“xyx”一個是指向“xyx”的引用對象s

  第四sleep() 和 wait() 有什麼區別? 搞線程的最愛
sleep()方法是使線程停止一段時間的方法在sleep 時間間隔期滿後線程不一定立即恢復執行這是因為在那個時刻其它線程可能正在運行而且沒有被調度為放棄執行除非(a)“醒來”的線程具有更高的優先級
(b)正在運行的線程因為其它原因而阻塞
wait()是線程交互時如果線程對一個同步對象x 發出一個wait()調用該線程會暫停執行被調對象進入等待狀態直到被喚醒或等待時間到

  第五short s = ; s = s + ;有什麼錯? short s = ; s += ;有什麼錯?
short s = ; s = s + ;有錯s是short型s+是int型不能顯式轉化為short型可修改為s =(short)(s + ) short s = ; s += 正確

  第六Overload和Override的區別Overloaded的方法是否可以改變返回值的類型?
方 法的重寫Overriding和重載Overloading是Java多態性的不同表現重寫Overriding是父類與子類之間多態性的一種表現重 載Overloading是一個類中多態性的一種表現如果在子類中定義某方法與其父類有相同的名稱和參數我們說該方法被重寫 (Overriding)子類的對象使用這個方法時將調用子類中的定義對它而言父類中的定義如同被“屏蔽”了如果在一個類中定義了多個同名的方 法它們或有不同的參數個數或有不同的參數類型則稱為方法的重載(Overloading)Overloaded的方法是可以改變返回值的類型

  第七Set裡的元素是不能重復的那麼用什麼方法來區分重復與否呢? 是用==還是equals()? 它們有何區別?
Set裡的元素是不能重復的那麼用iterator()方法來區分重復與否equals()是判讀兩個Set是否相等
equals()和==方法決定引用值是否指向同一對象equals()在類中被覆蓋為的是當兩個分離的對象的內容和類型相配的話返回真值

  第八error和exception有什麼區別?
error 表示恢復不是不可能但很困難的情況下的一種嚴重問題比如說內存溢出不可能指望程序能處理這樣的情況
exception 表示一種設計或實現問題也就是說它表示如果程序運行正常從不會發生的情況

  第九給我一個你最常見到的runtime exception
ArithmeticException ArrayStoreException BufferOverflowException BufferUnderflowException CannotRedoException CannotUndoException ClassCastException CMMException ConcurrentModificationException DOMException EmptyStackException IllegalArgumentException IllegalMonitorStateException IllegalPathStateException IllegalStateException
ImagingOpException IndexOutOfBoundsException MissingResourceException NegativeArraySizeException NoSuchElementException NullPointerException ProfileDataException ProviderException RasterFormatException SecurityException SystemException UndeclaredThrowableException UnmodifiableSetException UnsupportedOperationException

  第十Set裡的元素是不能重復的那麼用什麼方法來區分重復與否呢? 是用==還是equals()? 它們有何區別?
Set裡的元素是不能重復的那麼用iterator()方法來區分重復與否equals()是判讀兩個Set是否相等
equals()和==方法決定引用值是否指向同一對象equals()在類中被覆蓋為的是當兩個分離的對象的內容和類型相配的話返回真值 


From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19914.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.