閱讀273 返回首頁    go 技術社區[雲棲]


JAVA麵試700問(一)

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。

最後更新:2017-05-23 11:31:57

  上一篇:go  完美的單例實現(The Perfect Singleton)
  下一篇:go  也談如何構建高性能服務端程序