电竞比分网-中国电竞赛事及体育赛事平台

分享

Java面試題常見問題

 好程序員IT 2019-06-10


  面對龐大的java面試題庫,想要刷完似乎不大可能,需要一點(diǎn)一點(diǎn)的積累,今天我們就分享一些Java面試題常見問題

  1、java 中會存在內(nèi)存泄漏嗎,請簡單描述。

  答:會;存在無用但可達(dá)的對象,這些對象不能被GC 回收,導(dǎo)致耗費(fèi)內(nèi)存資源。

  2、靜態(tài)變量和實(shí)例變量的區(qū)別?

  答:靜態(tài)變量也稱為類變量,歸全類共有,它不依賴于某個對象,可通過類名直接訪問;而實(shí)例變量必須依存于某一實(shí)例,只能通過對象才能訪問到它。

  3、是否可以從一個static 方法內(nèi)部發(fā)出對非static 方法的調(diào)用?

  答:不可以,如果其中包含對象的method(),不能保證對象初始化。

  4、寫clone()方法時,通常都有一行代碼,是什么?

  答:Clone 有缺省行為:super.clone(),他負(fù)責(zé)產(chǎn)生正確大小的空間,并逐位復(fù)制。

  5、GC 是什么? 為什么要有GC?

  答:GC 是垃圾收集的意思(Gabage Collection),內(nèi)存處理是編程人員容易出現(xiàn)問題的地方,忘記或者錯誤的內(nèi)存回收會導(dǎo)致程序或系統(tǒng)的不穩(wěn)定甚至崩潰,Java 提供的GC 功能可以自動監(jiān)測對象是否超過作用域從而達(dá)到自動回收內(nèi)存的目的,Java 語言沒有提供釋放已分配內(nèi)存的顯示操作方法。Java 程序員不用擔(dān)心內(nèi)存管理,因?yàn)槔占鲿詣舆M(jìn)行管理。要請求垃圾收集,可以調(diào)用下面的方法之一:System.gc() Runtime.getRuntime().gc()

  6、說出數(shù)據(jù)連接池的工作機(jī)制是什么?

  答:J2EE 服務(wù)器啟動時會建立一定數(shù)量的池連接,并一直維持不少于此數(shù)目的池連接??蛻舳顺绦蛐枰B接時,池驅(qū)動程序會返回一個未使用的池連接并將其表記為忙。如果當(dāng)前沒有空閑連接,池驅(qū)動程序就新建一定數(shù)量的連接,新建連接的數(shù)量有配置參數(shù)決定。當(dāng)使用的池連接調(diào)用完成后,池驅(qū)動程序?qū)⒋诉B接表記為空閑,其他調(diào)用就可以使用這個連接。

  7、EJB 的激活機(jī)制?

  答:以Stateful Session Bean 為例:其Cache 大小決定了內(nèi)存中可以同時存在的Bean 實(shí)例的數(shù)量,根據(jù)MRU NRU 算法,實(shí)例在激活和去激活狀態(tài)之間遷移,激活機(jī)制是當(dāng)客戶端調(diào)用某個EJB 實(shí)例業(yè)務(wù)方法時,如果對應(yīng)EJB Object發(fā)現(xiàn)自己沒有綁定對應(yīng)的Bean 實(shí)例則從其去激活Bean 存儲中(通過序列化機(jī)制存儲實(shí)例)回復(fù)(激活)此實(shí)例。狀態(tài)變遷前會調(diào)用對應(yīng)的ejbActive ejbPassivate 方法。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多