JAVA面試700問(一)

jopen 9年前發布 | 33K 次閱讀 JAVA面試 Java開發

原文地址 譯者:葉文海(yewenhai@gmail.com)

1、Java環境中的字節碼是什么?

  • 由Java 編譯器生成的一種代碼。
  • 由JVM生成的一種代碼。
  • Java源文件(Java Source File)的別名。
  • 一種寫在類的實例方法中的代碼。

答案:由Java 編譯器生成的一種代碼。

2、什么是Java垃圾回收機制?

  • 操作系統周期性的刪除系統中所有可用的Java文件.
  • 自動刪除那些被程序引用但未被使用的包
  • 當一個對象的引用(references)不再存在,被這些對象占用的內存會被自動的回收。
  • JVM檢查所有Java應用的輸出刪除所有不在有意義的輸出。

答案:當一個對象的引用(references)不再存在,被這些對象占用的內存會被自動的回收。

Java小應用程序(Java Applet)跟Java應用程序(Java Application)有什么區別?

  • Java應用程序通常情況下是可以被信任的程序,而Java小應用程序不是。
  • Java小應用程序必須在瀏覽器環境下執行。
  • Java小應用程序無法訪問計算機中的文件。
  • 以上所有都是。

答案:以上所有都是。

3、在下面這段代碼編譯和執行的時候:
submarine.dive(depth);
下面哪個答案是正確的?

  • depth肯定是int類型。
  • dive肯定是一個方法。
  • dive肯定是實例變量的名字。
  • submarine肯定是一個類名。

答案:dive肯定是一個方法。

4、下面哪個關于匿名內部類的說法是正確的?

  • 僅能繼承一個類或實現一個接口。
  • 僅能繼承一個類或實現多個接口。
  • 可以實現多個接口無論是否繼承了其他類。

答案:僅能繼承一個類或實現一個接口。(譯者注:給定的答案是”僅能繼承一個類或實現多個接口。“,但經過測試發現匿名內部類無法實現多個接口,正確答案應該是”僅能繼承一個類或實現一個接口“)

5、如果一個線程被定義為守護線程(daemon thread),那么它必須聲明在下列哪個方法之前?

  • start方法。
  • run方法。
  • stop方法。
  • 以上都不是。

答案:start方法。

6、在下列什么情況下你可能會使用Thread的yield方法?

  • 在當前線程調用來使得其他線程擁有同樣的或者更高的優先級去運行。
  • 在處于等待狀態下的線程調用來使它能夠運行。
  • 讓一個線程擁有更高的運行優先級。
  • 在當前線程調用并傳入一個參數表明讓哪個線程可以運行。

答案:在當前線程調用來使得其他線程擁有同樣的或者更高的優先級去運行。

7、下面哪個是提示JVM進行垃圾回收的正確語法:

  • System.free();
  • System.setGarbageCollection();
  • System.out.gc();
  • System.gc();

答案:System.gc();

8、當子類中定義的方法與父類中定義的方法有同樣的方法簽名(譯者注:方法名+方法參數列表),那么子類的方法是:

  • 重載(Overloading )。
  • 重寫(Overriding )。
  • 包裝(Packing )。
  • 以上都不是。

答案:重寫(Overriding )。

9、在AWT或Swing中,BoxLayout 布局管理器是如何對組件進行布局的?
1)從左至右
2)從上到下
3)從右到左
4)從下至上

  • 1。
  • 2。
  • 1和2。
  • 3和4。

答案:1和2。

10、不能有子類的類是什么類:

  • 抽象(abstract)。
  • 父類(parent class)。
  • Final。
  • 以上都不是。

答案:Final

11、Swing組件里面用到下面哪個設計模式:

  • MVC(Model view controller )。
  • 事件委托(Event delegation model)。
  • DOM(Document object model )。
  • 網絡模式(network model)。

答案:MVC。

12、讓多個線程同時作用到同一個對象上并且能保證結果的可靠性的機制叫做:

  • 裝箱(Boxing)。
  • 非同步(Unsynchronized )。
  • 同步(synchronized)。
  • 以上都不是。

答案:同步(synchronized)。

13、java.util package包下的所有集合類都實現的是不同的接口

  • 正確。
  • 錯誤。

答案:正確。

14、DeflaterOutputStream和InflaterInputStream在哪個包下面?

  • java.io。
  • java.util。
  • java.io.zip。
  • java.util.zip。

答案:java.util.zip。

15、把內存中對象存儲到文件的技術是:

  • 同步(synchronization )。
  • 序列化(serialization )。
  • zip壓縮。
  • doping。

答案:序列化(serialization )。

16、靜態(static)變量或瞬時(transient)變量不能被序列化

  • 正確。
  • 錯誤。

答案:正確。

17、javax.swing中的組件是用什么語言開發的:

  • C++。
  • C。
  • pascal。
  • pure java。

答案:pure java

18、FileOutputStream 讀取的是什么類型的數據:

  • character。
  • file。
  • bytes。
  • bit。

答案:bytes。

19、Java中所有帶緩沖機制的類的默認緩沖大小是多少?

  • 128 bytes。
  • 256 bytes。
  • 512 bytes。
  • 1024 bytes。

答案:512 bytes。

 轉載自并發編程網 – ifeve.com

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!