阿里二面痛遭效能優化虐殺,60天含恨學透這套學習小冊,挺進美團。。。
效能優化是什麼?
效能優化,簡而言之,就是在不影響系統執行正確性的前提下,使之執行地更快,完成特定功能所需的時間更短。在JAVA程式中,效能問題的大部分原因並不在於JAVA語言,而是程式本身。養成良好的編碼習慣非常重要,能夠顯著地提升程式效能。
《大話Java效能優化》主要提供Java效能調優方面的參考建議及經驗交流。輕鬆道破軟體效能調優方法論和具體實現路徑,全面細緻,一本書搞定效能優化。
我們通常情況下,一開始可以有條不紊地進行軟體需求定義和分析,隨著上線時間的不斷追近,面對客戶的咄咄逼人的需求修改和即刻變更需求上線壓力,程式設計師作為弱勢群體,往往會考慮時間優先原則,很難守住按部就班的開發計劃和開發方式,從而導致出現了軟體質量的大幅度下降。軟體一定存在修改的餘地,但是程式設計師們通常不相信自己的系統存在諸多問題,尤其是感覺自己已經做得相當完美。系統調優在軟體的後續改進和重構中佔有很大的地位,能夠彌補前述的不足,本書以通俗的語言和引人入勝的故事,重點講述軟體效能調優的方法論和具體實現路徑,讀者可以根據自己的實際情況進行參照比對,就像進了兵器庫挑選合適自己的順手武器。
程式湊合著上線是一回事,而能夠優美地執行在壓力下往往很不容易。本書對於所有有志於進行軟體高階管理的人員而言,具有非常重要的意義。
效能調優在很大程度上是一門藝術,解決的Java效能問題越多,技藝才會越精湛:我們不僅要關心JVM的持續演進,也要積極地去了解底層的硬體平臺和作業系統的進步。
那麼,今天咱們就從目錄、主要包括的內容和總結三部分給大家進行Java效能調優的藝術學習,希望大家能夠喜歡!!
目錄
具體包括:效能優化策略、程式編寫及硬體伺服器的基礎知識、Java API優化建議、演算法類程式的優化建議、平行計算優化建議、Java程式效能監控及檢測、JVM原理知識、其他相關優化知識等。
由於篇幅限制小編,小編只在這裡給大家展示目錄及部分內容,有需要完整文件的程式猿(媛)可以幫忙轉發+關注,後臺私信【資料】或【學習】免費獲取
第1章 效能調優策略概述
本章主要介紹和解決以下問題,這些也是全書的基礎:
- 為什麼需要調優,這是您閱讀本書的依據,只為需要調優而調優。
- 瞭解程式效能的各項指標,包括物理機器效能、程式效能。
- 效能調優分類方法,包括調優方向、調優方法、調優層次。
第2章 優化前的準備知識
本章主要介紹和解決以下問題,這些也是優化之前的準備知識:
- 什麼是記憶體、CPU、GPU、硬碟、網路,Java 程式怎麼樣才能更好地利用它們。
- 那些高大上的技術,叢集技術、雲端計算技術、分散式技術、虛擬化技術,它們是什麼。
- 為第3章開始的具體程式設計、原理講解做準備。
第3章Java API呼叫優化建議
本章主要介紹和解決以下問題,這些也是效能優化深入學習之前的基礎知識:
- 如何對資料結構相關程式碼進行優化。
- 如何對字串相關操作程式碼進行優化。
- 如何對引用型別相關程式碼進行優化。
- 如何採用其他一些技巧。
- 如何從實際範例裡學習到優化方法。
- 為後續章節做好編碼層面知識準備。
第4章程式設計優化建議
本章主要介紹和解決以下問題,程式設計過程涉及整個軟體的效能:
- 什麼是演算法優化建議。
- 如何更好地利用設計模式。
- 如何使用Java網路包、如何操作資料庫。
- 如何解決海量資料處理、 儲存問題。
- 如何更好地對程式邏輯進行優化、避免出現問題。
- 關於 Web系統的優化建議。
第5章Java並行程式優化建議
本章主要介紹和解決以下問題,平行計算是Java程式設計師較難掌握的技術:
- 什麼是多執行緒程式設計及優化方式。
- 如何增加程式並行性。
- 如何調優鎖設計機制。
- JDK類庫裡面提供了哪些有用的方式可以加強併發。
第6章JVM效能測試及監控
本章主要介紹和解決以下問題,這也是下一章節的預備知識:
- 如何監控計算機裝置。
- 如何監控應用程式。
- 如何監控JVM。
第7章JVM效能調優建議
本章主要介紹和解決以下問題,這也是本書的最核心技術點:
- JVM的基礎架構、生命週期是什麼
- JVM如何對內部進行管理。
- 垃圾收集器內部原理。
- 常用的JVM引數使用及測試結果。
- 如何基於JVM對程式調優。
第8章其他優化建議
本章主要介紹和解決以下問題,這也是本書的收官篇章:
- Java整體發展過程及未來思路。
- 系統架構方面調優思路分享。
- Java專案優化方式分享。
- 面向服務思維及資源隔離技術分享。
- 團隊並行開發經驗分享。
- 工程師性格養成。
到此全書完成了所有與Java程式相關的知識分享,希望讀者能夠受益。
領取文章中的這份《Java效能調優》筆記,只需要:
——對文章將進行轉發+評論,關注我之後私信100%免費領取口令「學習」或「資料」即可。