原文地址 http://www.instanceofjava.com/2014/12/core-java-interview-questions.htmlhtml
transient 變量是指不會被序列化的變量。java
在多線程環境中,同步是指控制多個線程訪問共享資源的方式。沒有同步的話,可能出現一個線程正在讀取或使用共享資源,同時另外一個線程卻在修改它的狀況,這會形成嚴重的錯誤。數組
stop()
, suspend()
和 resume()
這三個方法有什麼變化?它們都被標註爲 "deprecated",也就是應該避免使用。多線程
null
是一個關鍵字嗎?不是。this
線程中止運行後,就變成 DEAD 狀態。線程
集合 API 是指一組用於幫助處理對象集合的類和接口。code
List
接口是作什麼的?List 接口是用來處理有序且容許重複的對象集合的接口。htm
Vector
類是作什麼的?(譯註:如今沒人用這個類了)Vector 是一個可增加的對象數組。對象
抽象類不能直接實例化,而只能經過建立其子類對象,來間接實例化。繼承
package
。
final
?不但願有子類的時候;
不但願功能被擴展的時候。
不容許,這樣作會致使編譯錯誤:illegal combination of modifiers abstract and static
能夠。聲明接口的時候加不加上 abstract 沒有區別。
能夠。
final
?不容許,這樣作會致使編譯錯誤。由於接口必需要有子類。
在強制類型轉換以前用 instanceof 判斷是否能夠轉換。
"xyz"
是基本型別(Primitive)類型的值嗎?不是,"xyz"
是一個字符串,不是基本型別類型的值。
當程序不可訪問(unreachable)該對象的時候,該對象能夠被回收。
run()
方法,不論該線程是繼承自 Thread
類或是實現了 Runnable
接口。
當前線程所在的線程組會執行一個叫 uncaughtException()
的方法,最後程序會異常退出。
this()
和 super()
?前者用來調用當前類的其餘構造方法;後者用來調用父類的構造方法。
finalize()
方法?當垃圾收集器檢測到該對象不可訪問(unreachable)時,會執行該對象的 finalize()
方法。
方法的名稱必須同樣;方法的參數聲明必須不同。
當一個類沒有其餘構造方法的時候,編譯器會爲其提供缺省的構造方法。
非靜態內部類可使用 final
或 abstract
修飾符。