JVM

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 堆
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末扮饶,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子乍构,更是在濱河造成了極大的恐慌甜无,老刑警劉巖扛点,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異岂丘,居然都是意外死亡陵究,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門奥帘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來铜邮,“玉大人,你說我怎么就攤上這事寨蹋∷伤猓” “怎么了?”我有些...
    開封第一講書人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵已旧,是天一觀的道長(zhǎng)秸苗。 經(jīng)常有香客問我,道長(zhǎng)运褪,這世上最難降的妖魔是什么惊楼? 我笑而不...
    開封第一講書人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮秸讹,結(jié)果婚禮上檀咙,老公的妹妹穿的比我還像新娘。我一直安慰自己嗦枢,他們只是感情好攀芯,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著文虏,像睡著了一般。 火紅的嫁衣襯著肌膚如雪殖演。 梳的紋絲不亂的頭發(fā)上氧秘,一...
    開封第一講書人閱讀 52,255評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音趴久,去河邊找鬼丸相。 笑死,一個(gè)胖子當(dāng)著我的面吹牛彼棍,可吹牛的內(nèi)容都是我干的灭忠。 我是一名探鬼主播,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼座硕,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼弛作!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起华匾,我...
    開封第一講書人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤映琳,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體萨西,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡有鹿,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了谎脯。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片葱跋。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖源梭,靈堂內(nèi)的尸體忽然破棺而出年局,到底是詐尸還是另有隱情,我是刑警寧澤咸产,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布矢否,位于F島的核電站,受9級(jí)特大地震影響脑溢,放射性物質(zhì)發(fā)生泄漏僵朗。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一屑彻、第九天 我趴在偏房一處隱蔽的房頂上張望验庙。 院中可真熱鬧,春花似錦社牲、人聲如沸粪薛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)违寿。三九已至,卻和暖如春熟空,著一層夾襖步出監(jiān)牢的瞬間藤巢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工息罗, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留掂咒,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓迈喉,卻偏偏與公主長(zhǎng)得像绍刮,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子挨摸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • Java動(dòng)態(tài)追蹤技術(shù)探究 在Java虛擬機(jī)中孩革,字符串常量到底存放在哪 一次生產(chǎn) CPU 100% 排查優(yōu)化實(shí)踐 聊...
    passiontim閱讀 4,083評(píng)論 0 38
  • 工作之余,想總結(jié)一下JVM相關(guān)知識(shí)油坝。 Java運(yùn)行時(shí)數(shù)據(jù)區(qū): Java虛擬機(jī)在執(zhí)行Java程序的過程中會(huì)將其管理的...
    Huang遠(yuǎn)閱讀 636評(píng)論 0 2
  • Java動(dòng)態(tài)追蹤技術(shù)探究 在Java虛擬機(jī)中嫉戚,字符串常量到底存放在哪 一次生產(chǎn) CPU 100% 排查優(yōu)化實(shí)踐 聊...
    星海辰光大人閱讀 745評(píng)論 0 2
  • 介紹JVM中7個(gè)區(qū)域刨裆,然后把每個(gè)區(qū)域可能造成內(nèi)存的溢出的情況說明 程序計(jì)數(shù)器:看做當(dāng)前線程所執(zhí)行的字節(jié)碼行號(hào)指示器...
    jemmm閱讀 2,232評(píng)論 0 9
  • Java 虛擬機(jī)(Java virtual machine,JVM)是運(yùn)行 Java 程序必不可少的機(jī)制彬檀。JVM實(shí)...
    Rick617閱讀 867評(píng)論 0 0