【Java虛擬機 / JVM】知識點整理(追加中)

前言:文章中只羅列出知識點問題,並不提供對應的答案,僅僅作爲檢驗自己是否對某個知識點存在空缺或遺忘,答案請自行Google

2018年3月8日記錄:

一.說一下 Java 的垃圾回收機制?
- a.System.gc()
- b.運行時的內存分佈情況
- c.如何判斷對象已死(兩種算法)
- d.4種引用方式
- e.4種垃圾回收算法

二.Java虛擬機內存模型(區別於 Java內存模型
- a.結構,包括(執行引擎、本地庫接口、本地方法庫)
- b.詳細說明“運行時數據區域”

三.JVM的4種引用和使用場景

四.引用計數法與可達性分析算法 / 如何判斷對象是不是垃圾
- a.互相引用
- b.哪些可以作爲GC Roots對象

五.堆裏面的分區和各自的特點

六.Minor GC 與 Full GC 分別在什麼時候發生
- a.內存分配規則

七.幾種垃圾回收算法的原理和特點,應用場景

八.GC收集器有哪些?詳細談一下CMS收集器和G1收集器的特點

九.內存泄漏和內存溢出
- a.泄漏的原因
- b.內存泄漏的解決方案
- c.實際開發場景中,如何查找內存泄漏(工具)
- d.內存溢出的幾種情況
- e.導致內存溢出的原因
- f.內存溢出的解決方法

十.如何減少gc出現的次數/Java內存管理

十一.數組多大放在JVM老年代
- a.永久代對象如何GC
- b.如果想不被GC怎麼辦
- c.如何想在GC中生存1次怎麼辦

十二.JVM常用的啓動參數

十三.常用內存調試工具

十四.雙親委派模型
- a.如何自定義類加載器
- b.如何打破雙親委派機制

十五.描述Java類加載器的工作原理及其組織結構

十六.Java編譯過程

十七.字節碼文件的格式

十八.即時編譯器的優化方法

十九.靜態分派與動態分派
- a.這塊可以與Java動態(重載、重寫)的表現形式一起說明

二十.new的對象如何不分配在堆而分配在棧上呢
- a.詳細介紹方法逃逸

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章