Java性能優(yōu)化實(shí)踐(JVM調(diào)優(yōu)策略、工具與技巧)_第1頁
Java性能優(yōu)化實(shí)踐(JVM調(diào)優(yōu)策略、工具與技巧)_第2頁
Java性能優(yōu)化實(shí)踐(JVM調(diào)優(yōu)策略、工具與技巧)_第3頁
Java性能優(yōu)化實(shí)踐(JVM調(diào)優(yōu)策略、工具與技巧)_第4頁
Java性能優(yōu)化實(shí)踐(JVM調(diào)優(yōu)策略、工具與技巧)_第5頁
已閱讀5頁,還剩297頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Java性能優(yōu)化實(shí)踐JVM調(diào)優(yōu)策略、工具與技巧注:原文檔電子版(非掃描),需要的請(qǐng)下載本文檔后留言謝謝。目錄\h第1章明確優(yōu)化與性能\h1.1關(guān)于Java性能的誤解\h1.2Java性能概覽\h1.3作為實(shí)驗(yàn)科學(xué)的性能\h1.4性能分類方法\h1.4.1吞吐量\h1.4.2延遲\h1.4.3容量\h1.4.4利用率\h1.4.5效率\h1.4.6可擴(kuò)展性\h1.4.7降級(jí)\h1.4.8各種性能觀測(cè)之間的關(guān)聯(lián)\h1.5閱讀性能圖\h1.6小結(jié)\h第2章JVM概覽\h2.1解釋和類加載\h2.2執(zhí)行字節(jié)碼\h2.3HotSpot簡(jiǎn)介\h即時(shí)編譯簡(jiǎn)介\h2.4JVM內(nèi)存管理\h2.5線程和Java內(nèi)存模型\h2.6認(rèn)識(shí)不同的JVM\h關(guān)于許可證的說明\h2.7JVM的監(jiān)控和工具\(yùn)hVisualVM\h2.8小結(jié)\h第3章硬件與操作系統(tǒng)\h3.1現(xiàn)代硬件簡(jiǎn)介\h3.2內(nèi)存\h內(nèi)存高速緩存\h3.3現(xiàn)代處理器特性\h3.3.1翻譯后備緩沖器\h3.3.2分支預(yù)測(cè)和推測(cè)執(zhí)行\(zhòng)h3.3.3硬件存儲(chǔ)器模型\h3.4操作系統(tǒng)\h3.4.1調(diào)度器\h3.4.2時(shí)間問題\h3.4.3上下文切換\h3.5一個(gè)簡(jiǎn)單的系統(tǒng)模型\h3.6基本探測(cè)策略\h3.6.1利用CPU\h3.6.2垃圾收集\h3.6.3I/O\h3.6.4機(jī)械共鳴\h3.7虛擬化\h3.8JVM和操作系統(tǒng)\h3.9小結(jié)\h第4章性能測(cè)試模式與反模式\h4.1性能測(cè)試的類型\h4.1.1延遲測(cè)試\h4.1.2吞吐量測(cè)試\h4.1.3負(fù)載測(cè)試\h4.1.4壓力測(cè)試\h4.1.5耐久性測(cè)試\h4.1.6容量規(guī)劃測(cè)試\h4.1.7退化測(cè)試\h4.2最佳實(shí)踐入門\h4.2.1自上而下的性能測(cè)試\h4.2.2創(chuàng)建一個(gè)測(cè)試環(huán)境\h4.2.3確定性能要求\h4.2.4Java特有的問題\h4.2.5將性能測(cè)試當(dāng)作軟件開發(fā)生命周期的一部分\h4.3性能反模式\h4.3.1厭倦\h4.3.2填充簡(jiǎn)歷\h4.3.3同儕壓力\h4.3.4缺乏理解\h4.3.5被錯(cuò)誤理解的問題/不存在的問題\h4.4性能反模式目錄\h4.4.1被熱門技術(shù)分心\h4.4.2被簡(jiǎn)單分心\h4.4.3性能調(diào)優(yōu)天才\h4.4.4按照坊間傳說調(diào)優(yōu)\h4.4.5把責(zé)任歸咎給驢\h4.4.6忽略大局\h4.4.7用戶驗(yàn)收測(cè)試環(huán)境就是我的計(jì)算機(jī)\h4.4.8類似生產(chǎn)環(huán)境的數(shù)據(jù)很難表示\h4.5認(rèn)知偏差與性能測(cè)試\h4.5.1還原論思維\h4.5.2確認(rèn)偏差\h4.5.3戰(zhàn)爭(zhēng)的迷霧(行動(dòng)偏差)\h4.5.4風(fēng)險(xiǎn)偏差\h4.5.5埃爾斯伯格悖論\h4.6小結(jié)\h第5章微基準(zhǔn)測(cè)試與統(tǒng)計(jì)\h5.1Java性能測(cè)量\h5.2JMH\h5.2.1不是萬不得已,不要做微基準(zhǔn)測(cè)試(一個(gè)真實(shí)的故事)\h5.2.2關(guān)于何時(shí)使用微基準(zhǔn)測(cè)試的啟發(fā)\h5.2.3JMH框架\h5.2.4執(zhí)行基準(zhǔn)測(cè)試\h5.3JVM性能統(tǒng)計(jì)\h5.3.1誤差類型\h5.3.2非正態(tài)統(tǒng)計(jì)\h5.4統(tǒng)計(jì)的解釋\h5.5小結(jié)\h第6章理解垃圾收集\h6.1標(biāo)記和清除\h垃圾收集術(shù)語\h6.2HotSpot運(yùn)行時(shí)\h6.2.1對(duì)象的運(yùn)行時(shí)表示\h6.2.2GC根和Arena\h6.3分配與生命周期\h弱分代假說\h6.4HotSpot中的垃圾收集\h6.4.1線程本地分配\h6.4.2半空間收集\h6.5并行收集器\h6.5.1新生代并行收集\h6.5.2老年代并行收集\h6.5.3并行收集器的局限性\h6.6分配的作用\h6.7小結(jié)\h第7章垃圾收集高級(jí)話題\h7.1權(quán)衡與可插拔的收集器\h7.2并發(fā)垃圾收集理論\h7.2.1JVM安全點(diǎn)\h7.2.2三色標(biāo)記\h7.3CMS\h7.3.1CMS是如何工作的\h7.3.2用于CMS的基本JVM標(biāo)志\h7.4G1\h7.4.1G1堆布局和區(qū)域\h7.4.2G1算法設(shè)計(jì)\h7.4.3G1的各階段\h7.4.4用于G1的基本JVM標(biāo)志\h7.5Shenandoah\h7.5.1并發(fā)壓縮\h7.5.2獲取Shenandoah\h7.6C4(AzulZing)\hLVB\h7.7IBMJ9中的均衡收集器\h7.7.1J9對(duì)象頭\h7.7.2Balanced收集器的大數(shù)組\h7.7.3NUMA和Balanced收集器\h7.8遺留的HotSpot收集器\h7.8.1Serial和SerialOld\h7.8.2增量式CMS\h7.8.3已被廢棄和刪除的垃圾收集組合\h7.8.4Epsilon\h7.9小結(jié)\h第8章垃圾收集日志、監(jiān)控、調(diào)優(yōu)及工具\(yùn)h8.1認(rèn)識(shí)垃圾收集日志\h8.1.1開啟垃圾收集日志記錄\h8.1.2垃圾收集日志與JMX的對(duì)比\h8.1.3JMX的缺點(diǎn)\h8.1.4垃圾收集日志數(shù)據(jù)帶來的好處\h8.2日志解析工具\(yùn)h8.2.1Censum\h8.2.2GCViewer\h8.2.3對(duì)于同一數(shù)據(jù)的不同可視化效果\h8.3基本垃圾收集調(diào)優(yōu)\h8.3.1理解分配行為\h8.3.2理解暫停時(shí)間\h8.3.3收集器線程和GC根\h8.4調(diào)優(yōu)ParallelGC\h8.5調(diào)優(yōu)CMS\h由碎片化導(dǎo)致的并發(fā)模式失敗\h8.6調(diào)優(yōu)G1\h8.7jHiccup\h8.8小結(jié)\h第9章JVM上的代碼執(zhí)行\(zhòng)h9.1字節(jié)碼解釋概覽\h9.1.1JVM字節(jié)碼\h9.1.2簡(jiǎn)單解釋器\h9.1.3HotSpot特定細(xì)節(jié)\h9.2AOT編譯和JIT編譯\h9.2.1AOT編譯\h9.2.2JIT編譯\h9.2.3比較AOT和JIT\h9.3HotSpotJIT基礎(chǔ)\h9.3.1Klass字、虛函數(shù)表和指針變換\h9.3.2JIT編譯日志\h9.3.3HotSpot中的編譯器\h9.3.4HotSpot中的分層編譯\h9.4代碼緩存\h碎片\h9.5簡(jiǎn)單JIT調(diào)優(yōu)\h9.6小結(jié)\h第10章理解即時(shí)編譯\h10.1認(rèn)識(shí)JITWatch\h10.1.1基本的JITWatch視圖\h10.1.2調(diào)試JVM和hsdi\h10.2介紹JIT編譯\h10.3內(nèi)聯(lián)\h10.3.1內(nèi)聯(lián)的限制\h10.3.2調(diào)優(yōu)內(nèi)聯(lián)子系統(tǒng)\h10.4循環(huán)展開\h循環(huán)展開小結(jié)\h10.5逃逸分析\h10.5.1消除堆分配\h10.5.2鎖與逃逸分析\h10.5.3逃逸分析的限制\h10.6單態(tài)分派\h10.7內(nèi)部函數(shù)\h10.8棧上替換\h10.9再談安全點(diǎn)\h10.10核心庫方法\h10.10.1內(nèi)聯(lián)方法的大小上限\h10.10.2編譯方法的大小上限\h10.11小結(jié)\h第11章Java語言性能技術(shù)\h11.1優(yōu)化集合\h11.2針對(duì)列表的優(yōu)化考慮\h11.2.1ArrayList\h11.2.2LinkedList\h11.2.3ArrayList與LinkedList的對(duì)比\h11.3針對(duì)映射的優(yōu)化考慮\h11.3.1HashMap\h11.3.2TreeMap\h11.3.3缺少M(fèi)ultiMap\h11.4針對(duì)集的優(yōu)化考慮\h11.5領(lǐng)域?qū)ο骪h11.6避免終結(jié)化\h11.6.1血淚史:忘記清理\h11.6.2為什么不使用終結(jié)化來解決這個(gè)問題\h11.6.3try-with-resources\h11.7方法句柄\h11.8小結(jié)\h第12章并發(fā)性能技術(shù)\h12.1并行介紹\h基本的Java并發(fā)\h12.2理解JMM\h12.3構(gòu)建并發(fā)庫\h12.3.1Unsafe\h12.3.2原子與CAS\h12.3.3鎖和自旋鎖\h12.4并發(fā)庫總結(jié)\h12.4.1java.util.concurrent中的Lock\h12.4.2讀/寫鎖\h12.4.3信號(hào)量\h12.4.4并發(fā)集合\h12.4.5鎖存器和屏障\h12.5執(zhí)行器和任務(wù)抽象\h12.5.1認(rèn)識(shí)異步執(zhí)行\(zhòng)h12.5.2選擇一個(gè)ExecutorService\h12.5.3Fork/Join\h12.6現(xiàn)代Java并發(fā)\h12.6.1流和并行流\h12.6.2無鎖技術(shù)\h12.6.3基于Actor的技術(shù)\h12.7小結(jié)\h第13章剖析\h13.1認(rèn)識(shí)剖析\h13.2采樣與安全點(diǎn)偏差\h13.3面向開發(fā)人員的執(zhí)行剖析工具\(yùn)h13.3.1VisualVM剖析器\h13.3.2JProfiler\h13.3.3YourKit\h13.3.4JavaFlightRecorder和JavaMissionControl\h13.3.5運(yùn)維工具\(yùn)h13.4現(xiàn)代剖析器\h13.5分配剖析器\h13.6堆轉(zhuǎn)儲(chǔ)分析\hhprof\h13.7小結(jié)\h第14章高性能日志和消息系統(tǒng)\h14.1日志\h對(duì)日志記錄器做基準(zhǔn)測(cè)試\h14.2設(shè)計(jì)一個(gè)影響較低的日志記錄器\h14.3使用RealLogic庫實(shí)現(xiàn)低延遲\h14.3.1Agrona\h14.3.2SimpleBinaryEncoding\h14.3.3Aeron\h14.3.4Aeron的設(shè)計(jì)\h14.4小結(jié)\h第15章Java9以及Java的未來方向\h15.1Java9中小的性能增強(qiáng)\h15.1.1分段式代碼緩存\h15.1.2緊湊的字符串\h

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論