Android程序員面試Java基礎

1、多態的概念及其體現
概念:方法的重寫、重載與動態連接構成多態性
體現:
①接口和實現接口並覆蓋其中同一方法的幾個不同的類體現
②父類和繼承父類並覆蓋其中同一方法的幾個不同子類體現
2、Java垃圾回收機制面試回答技巧
概念:Java垃圾回收機制是Java虛擬機提供的能力,用於在空閒時間以不定時的方式動態回收無任何引用的對象佔據的內存空間
System.gc()
Runtime.getRuntime().gc()
上面兩個方法調用時用於顯示通知JVM可以進行一次垃圾回收,但真正垃圾回收機制具體在什麼時間點開始是不可預料的。
3、Java中Vector與ArrayList、LinkedList的區別
①ArrayList由數組實現,允許對元素快速隨機訪問,適合隨機查找和遍歷,不適合插入和刪除;
②Vector也是由數組實現,但支持線程同步,某一時刻只能有一個線程能夠寫入Vector,因此其速度慢於ArrayList;
③LinkedList是用鏈表結構存儲的,適合動態插入和刪除元素,隨機訪問和遍歷速度慢。另外,LinkedList提供List接口沒有定義的方法,專門用於操作頭尾元素,可以當作堆棧、隊列和雙向隊列使用。
4、sleep和wait的區別
①sleep來自Thread類,wait來自object類
②、sleep方法不釋放鎖,wait則釋放
③、使用範圍:sleep可以在任何地方,wait只能在同步控制塊裏
④、sleep必須捕獲異常,wait不需要
5、Java對象的引用分類
①強引用:創建一個對象並賦予引用變量,有引用變量指向時不會被回收(即使內存不足)
②軟引用:用SoftReference類實現,內存不足被回收
③弱引用:用WeakReference類實現,垃圾回收內次都回收弱引用,不確定性強
④虛引用:用PhantomReference類實現
(未完待續)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章