Chapter7-JVM性能調(diào)優(yōu)入門

  • 大頁面支持
    • Linux上的大頁面支持
      • 1.-XX:+UseLargePages
      • 2.修改OS的配置(依據(jù)Linux發(fā)行版和內(nèi)核不同,其修改也不同)
      • 3.如Linux中大頁面配置不正確, HotSpot VM會(huì)接受上面選項(xiàng),但是會(huì)報(bào)告無法獲取大頁面,最后回退到OS默認(rèn)支持的頁面大小
      • 4.了解即可, 基本碰不到要配置此參數(shù)


  • 逃逸分析(escape analysis)
    • -XX:+DoEscapeAnalysis
    • 評(píng)估Java對(duì)象可見范圍, 尤其是指由某個(gè)線程創(chuàng)建的Java對(duì)象在另一個(gè)線程中可以訪問,此時(shí)稱該對(duì)象逃逸了.
    • 如果Java對(duì)象不發(fā)生逃逸,則可以采取其他方法進(jìn)行優(yōu)化,這種優(yōu)化技術(shù)稱為逃逸分析
    • JIT編譯器可以采取的優(yōu)化技術(shù)有
      • 1.對(duì)象展開
      • 2.標(biāo)量替換
      • 3.棧上分配
        • 線程的棧幀上分配而非堆,由于對(duì)象不逃逸,不被其他線程訪問,則可以在線程私有的棧幀上分配,減少堆上對(duì)象的數(shù)目,減輕gc的頻率
      • 4.消除同步
        • 如果該對(duì)象不逃逸,則當(dāng)前線程持有該對(duì)象鎖,其他線程訪問不了該對(duì)象,則該鎖可以由JIT消除
      • 5.消除垃圾收集的讀/寫屏障
        • 對(duì)象不逃逸,該對(duì)象只能從線程本地的根節(jié)點(diǎn)訪問,因此在其他對(duì)象中存儲(chǔ)其地址時(shí)不需要執(zhí)行讀或?qū)懫琳?/li>
        • 只有在對(duì)象可以被另一個(gè)線程訪問時(shí)才需要讀/寫屏障
        • 讀或?qū)懫琳?/li>

  • 極端示例

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Java8張圖 11、字符串不變性 12、equals()方法、hashCode()方法的區(qū)別 13、...
    Miley_MOJIE閱讀 3,918評(píng)論 0 11
  • 1.一些概念 1.1.數(shù)據(jù)類型 Java虛擬機(jī)中,數(shù)據(jù)類型可以分為兩類:基本類型和引用類型。基本類型的變量保存原始...
    落落落落大大方方閱讀 4,830評(píng)論 4 86
  • Java 應(yīng)用性能優(yōu)化是一個(gè)老生常談的話題,典型的性能問題如頁面響應(yīng)慢、接口超時(shí),服務(wù)器負(fù)載高、并發(fā)數(shù)低,數(shù)據(jù)庫頻...
    Rick617閱讀 7,629評(píng)論 1 9
  • 從三月份找實(shí)習(xí)到現(xiàn)在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂視家的研發(fā)崗...
    時(shí)芥藍(lán)閱讀 42,901評(píng)論 11 349
  • 當(dāng)在一個(gè)Excel表格中錄制宏,保存方式為”個(gè)人宏工作簿“時(shí),宏錄制結(jié)束,直接保存Excel表格時(shí),將會(huì)出現(xiàn)如下警...
    霹靂小青龍閱讀 6,965評(píng)論 0 2

友情鏈接更多精彩內(nèi)容