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

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


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

  • 極端示例

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

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

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

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