JVM 基礎(chǔ)-類字節(jié)碼詳解
- 多語(yǔ)言編譯為字節(jié)碼在 JVM 運(yùn)行
- Java 字節(jié)碼文件
-- Class文件的結(jié)構(gòu)屬性
-- 從一個(gè)例子開始
-- 反編譯字節(jié)碼文件
-- 字節(jié)碼文件信息
-- 常量池
-- 方法表集合
-- 類名 - 再看兩個(gè)示例
-- 分析 try-catch-finally
-- Kotlin 函數(shù)擴(kuò)展的實(shí)現(xiàn)
JVM 基礎(chǔ)-類加載機(jī)制
- 類的生命周期
-- 類的加載:查找并加載類的二進(jìn)制數(shù)據(jù)
-- 連接
-- 初始化
-- 使用
-- 卸載 - 類加載器捧杉,JVM 類加載機(jī)制
-- 類加載器的層次
-- 尋找類加載器
-- 類的加載 - JVM 類加載機(jī)制
- 自定義類加載器
JVM 基礎(chǔ)-JVM 內(nèi)存結(jié)構(gòu)
- Overview
- 程序計(jì)數(shù)器
- Java 虛擬機(jī)棧
- 本地方法棧
- 堆
- 方法區(qū)
- 運(yùn)行時(shí)常量池
- 直接內(nèi)存
JVM 基礎(chǔ)-Java 內(nèi)存模型引入
- JMM引入
-- 從堆說起
-- 堆棧里面放了什么报强?
-- 線程棧如何訪問堆上對(duì)象误证?
-- 線程棧訪問堆示例 - JMM 與硬件內(nèi)存結(jié)構(gòu)關(guān)系
-- 硬件內(nèi)存結(jié)構(gòu)簡(jiǎn)介
-- JMM與硬件內(nèi)存連接-引入
-- JMM 與硬件內(nèi)存連接-對(duì)象共享后可見性
-- JMM 與硬件內(nèi)存連接-競(jìng)態(tài)條件
JVM 基礎(chǔ)-Java 內(nèi)存模型詳解
- 基礎(chǔ)
-- 并發(fā)編程模型的分類
-- Java 內(nèi)存模型的抽象
-- 重排序
-- 處理器重排序與內(nèi)存屏障指令
-- happens-before - 重排序
-- 數(shù)據(jù)依賴性
-- as-if-serial 語(yǔ)義
-- 程序順序規(guī)則
-- 重排序?qū)Χ嗑€程的影響 - 順序一致性
-- 數(shù)據(jù)競(jìng)爭(zhēng)與順序一致性保證
-- 順序一致性內(nèi)存模型
-- 同步程序的順序一致性效果
-- 未同步程序的執(zhí)行特性 - 總結(jié)
-- 處理器內(nèi)存模型
-- JMM,處理器內(nèi)存模型與順序一致性內(nèi)存模型之間的關(guān)系
-- JMM 的設(shè)計(jì)
-- JMM 的內(nèi)存可見性保證
-- JSR-133對(duì)就內(nèi)存模型的修補(bǔ)
JVM 基礎(chǔ)-Java 垃圾收集
- 判斷一個(gè)對(duì)象是否可被回收
-- 1冰单、引用計(jì)數(shù)算法
-- 2、可達(dá)性分析算法
-- 3买置、方法區(qū)的回收
-- 4辟狈、finalize() - 引用類型
-- 1、強(qiáng)引用
-- 2糖埋、軟引用
-- 3宣吱、弱引用
-- 4、虛引用 - 垃圾回收算法
-- 1瞳别、標(biāo)記-清除
-- 2征候、標(biāo)記-整理
-- 3、復(fù)制
-- 4祟敛、分代收集 - 垃圾收集器
-- 1疤坝、Serial 收集器
-- 2、ParNew 收集器
-- 3馆铁、Parallel Scavenge 收集器
-- 4跑揉、Serial Old 收集器
-- 5、Parallel Old 收集器
-- 6叼架、CMS 收集器
-- 7畔裕、G1收集器 - 內(nèi)存分配與回收策略
-- Minor GC和 Full GC
-- 內(nèi)存分配策略
調(diào)試拍錯(cuò)-JVM 調(diào)優(yōu)參數(shù)
- 調(diào)試排錯(cuò)-JVM 調(diào)優(yōu)參數(shù)
-- JVM 參數(shù)
-- 垃圾回收
調(diào)試排錯(cuò)-Java OOM 分析
- Java 堆內(nèi)存溢出
java.lang.OutOfMemoryError: Java heap space 堆內(nèi)存溢出 - MetaSpace(元數(shù)據(jù))內(nèi)存溢出
java.lang.OutOfMemoryError: Metaspace 元數(shù)據(jù)溢出
注意:JDK8 中移除永久代,使用 MetaSpace來保存類加載之后的類信息乖订,字符串常量池也被移動(dòng)到 Java 堆