JVM與GC調優專題
1 – 字節碼篇
• JVM架構圖?
• class文件里是什么?
• javac編譯器編譯步驟?
• 什么是字節碼指令?
• 如何解讀class文件?
• 常量池是什么?
• 常見字節碼指令有哪些?
JVM與GC調優《大廠學院》
鏈接:https://pan.baidu.com/s/1RPrl9U0DtnoAra_oUaNkMA
提取碼:xb2k
復制這段內容后打開百度網盤手機App,操作更方便哦
2 – 類的加載篇
• 類的加載需要幾個過程?
• 二進制流幾種獲取方式?
• <clinit>調用會死鎖嗎?
• 類的加載器都有哪些?
• 如何自定義類的加載器?
• 懂ClassLoader源碼嗎?
• 破壞雙親委派機制的舉例?
3 – 運行時內存篇
• 能畫出HotSpot內存圖?
• 棧幀內部結構?
• 分配的棧越大越好嗎?
• 所有線程都共享堆?
• 對象分配過程闡述?
• 棧、堆、方法區常用參數?
• Java8內存分代改進?
4 – 對象內存布局篇
• 幾種方式創建對象?
• 創建對象有哪幾步?
• 指針碰撞vs空閑列表?
• java對象頭里有啥?
• 什么是句柄訪問?
• 什么是指針訪問?
• 對象內存布局都有什么?
5 – 執行引擎篇
• 執行引擎是做什么的?
• 執行引擎怎么工作?
• 為什么Java半編譯半解釋?
• 什么是熱點代碼?
• 方法調用計數器vs回邊
計數器?
• Hotspot的c1、c2優化策略?
6 – 垃圾回收篇
• 可達性分析算法闡述?
• GC Roots都有哪些結構?
• 標記-清除等算法使用場景?
• 內存泄漏舉例?
• 什么是安全點?
• java的5種引用給介紹下?
• 各種GC特點及常用參數?
7 – JVM性能監控篇
• 性能優化步驟有哪些?
• 常用性能評價指標?
• jps、jstat、jinfo、jmap?
• VisualVM、Arthas、JMC?
• 常用GC日志參數有哪些?
• 如何導出dump文件?
• 哪些情況會導致內存泄漏?
8 – 性能調優案例篇
• Jmeter的使用?
• 堆溢出問題如何定位?
• 元空間溢出如何定位?
• 調整堆提交吞吐量的設置?
• 調整GC提高吞吐量的設置?
• 並發線程數對性能的影響?
• 日均百萬並發的JVM設置?