好程序員分享:Java面試題常見問題

  好程序員分享:Java面試題常見問題,面對龐大的java面試題庫,想要刷完彷佛不大可能,須要一點一點的積累,今天咱們就分享一些Java面試題常見問題java

 

一、java 中會存在內存泄漏嗎,請簡單描述。程序員

 

  答:會;存在無用但可達的對象,這些對象不能被GC 回收,致使耗費內存資源。面試

 

二、靜態變量和實例變量的區別?算法

 

  答:靜態變量也稱爲類變量,歸全類共有,它不依賴於某個對象,可經過類名直接訪問;而實例變量必須依存於某一實例,只能經過對象才能訪問到它。編程

 

三、是否能夠從一個static 方法內部發出對非static 方法的調用?服務器

 

  答:不能夠,若是其中包含對象的method(),不能保證對象初始化。對象

 

四、寫clone()方法時,一般都有一行代碼,是什麼?內存

 

  答:Clone 有缺省行爲:super.clone(),他負責產生正確大小的空間,並逐位複製。資源

 

五、GC 是什麼? 爲何要有GC?作用域

 

  答:GC 是垃圾收集的意思(Gabage Collection),內存處理是編程人員容易出現問題的地方,忘記或者錯誤的內存回收會致使程序或系統的不穩定甚至崩潰,Java 提供的GC 功能能夠自動監測對象是否超過做用域從而達到自動回收內存的目的,Java 語言沒有提供釋放已分配內存的顯示操做方法。Java 程序員不用擔憂內存管理,由於垃圾收集器會自動進行管理。要請求垃圾收集,能夠調用下面的方法之一:System.gc() 或Runtime.getRuntime().gc() 。

 

六、說出數據鏈接池的工做機制是什麼?

 

  答:J2EE 服務器啓動時會創建必定數量的池鏈接,並一直維持很多於此數目的池鏈接。客戶端程序須要鏈接時,池驅動程序會返回一個未使用的池鏈接並將其表記爲忙。若是當前沒有空閒鏈接,池驅動程序就新建必定數量的鏈接,新建鏈接的數量有配置參數決定。當使用的池鏈接調用完成後,池驅動程序將此鏈接表記爲空閒,其餘調用就可使用這個鏈接。

 

七、EJB 的激活機制?

 

  答:以Stateful Session Bean 爲例:其Cache 大小決定了內存中能夠同時存在的Bean 實例的數量,根據MRU 或NRU 算法,實例在激活和去激活狀態之間遷移,激活機制是當客戶端調用某個EJB 實例業務方法時,若是對應EJB Object發現本身沒有綁定對應的Bean 實例則從其去激活Bean 存儲中(經過序列化機制存儲實例)回覆(激活)此實例。狀態變遷前會調用對應的ejbActive 和ejbPassivate 方法。

相關文章
相關標籤/搜索