作爲 Java 的從業者,在找工作的時候,一定會被問及關於 JVM 相關的知識。JVM 知識的掌握程度,在很多面試官眼裏是候選人技術深度的一個重要評判標準。不然只需要聊個天,就知道你是什麼水平的了···
給大家整理了面試過程中高頻常見的JVM題目,先自己想想怎麼答,最後可以領取標準答案。
JVM基礎高頻問題
- JDK、 JRE、JVM 的關係是什麼?
- JVM 的內存模型以及分區情況和作用
- JVM 對象創建步驟流程是什麼?
- 垃圾回收算法有幾種類型?他們對應的優缺點又是什麼?
- 類的加載過程是什麼?簡單描述一下每個步驟
- JVM 預定義的類加載器有哪幾種?分別什麼作用?
- 什麼是雙親委派模式?有什麼作用?
- 介紹一下 JVM 中垃圾收集器有哪些?他們特點分別是什麼?
- 什麼是 Class 文件?Class 文件主要的信息結構有哪些?
- 對象“對象已死” 是什麼概念?
JVM進階高頻問題
- JVM 數據運行區,哪些會造成 OOM 的情況?
- 除了數據運行區,其他區域均有可能造成 OOM 的情況。
- Java 語言怎麼實現跨平臺的?
- 詳細介紹一下對象在分帶內存區域的分配過程?
- G1 與 CMS 兩個垃圾收集器的對比
- 線上常用的 JVM 參數有哪些?
- 對象什麼時候進入老年代?
- 什麼是內存溢出, 內存泄露?他們的區別是什麼?
- 引起類加載操作的行爲有哪些?
- 介紹一下 JVM 提供的常用工具
- Full GC 、 Major GC 、Minor GC 之間區別?
- 什麼時候觸發 Full GC ?
- 什麼情況下會出現棧溢出
- 說一下強引用、軟引用、弱引用、虛引用以及他們之間和 gc 的關係
- Eden 和 Survivor 的比例分配是什麼情況?爲什麼?
JVM實戰問題
- CPU 資源佔用過高
- OOM 異常排查
以上這些問題都是菜哥在面試中遇到過的,實戰問題更是花樣百出,但歸根結底就是這兩個核心問題。
最後小編整理了一套技術資料不僅能精準消除技術盲點、累計面試經驗,更可以攻克JVM、Spring、分佈式、微服務等技術難題。
海量電子書,珍藏版