友快網

導航選單

Java開發必會的10個性能最佳化的細節,跳槽就靠他吊打面試官

可能很多Java程式設計師都會覺得解決效能問題是一件特別苦惱、特別讓人抓狂的事情,因為系統的各個層面的問題都會導致效能問題。

JVM最佳化是個老生常談的話題,也是程式設計師面試容易遇到的高頻問題,貌似每個程式設計師或者面試官都知道那麼一點兒,沒有什麼新意。

很多原來的最佳化方法都已失去了存在的意義,但還是被大家不斷地討論,片面、零散、落伍的知識在JVM領域大行其道,要命的是其中還有很多是錯誤的。

但如果想再找一本能跟得上時代步伐的JVM調優的書的話,貌似當下只有這本書。

這就是我推薦此書的理由:全面、實用、緊跟時代,本書很多章節都是我非常喜歡的,比如關於JMC的,相信很多有多年JVM調優經驗的人也未必聽說過JMC,但不得不說,每個遇見JMC的人都如獲至寶。

效能測試方法

在效能測試過程中,最重要的一部分就是效能瓶頸定位與調優

Java效能調優工具箱

效能分析過程中的一切都要能視覺化,從而瞭解應用內部及應用所在的環境發生了什麼,視覺化的關鍵全在於工具,所以效能調優也完全在於工具。

JT編譯器

即時(Just-In-Time, JIT) 編譯器是Java 虛擬機器的核心,對JVM效能影響最大的莫過於編譯器,而選擇編譯器是執行Java程式時首先要做的選擇之一,無論你是 Java開發人員還是終端使用者,幸運的是,在絕大多數情況下,只需要對編譯器做-些基本的調優。

垃圾收集入門

這一章我們會一起探究JVM垃圾收集的基礎知識。很多時候我們沒有機會重寫程式碼,又面臨需要提高Java應用效能的壓力,這種情況下對垃圾收集器的調優就變得至關重要。

垃圾收集演算法

介紹了垃圾收集器的通用行為,包括普遍適用於所有垃圾回收演算法的JVM調優標誌如何選擇堆的大小,如何選擇代的大小,如何開啟和設定GC日誌,等等。

堆記憶體最佳實踐

起那麼兩章詳細探討了如何調優垃圾收集器,以使其儘可能不影響程式。調優垃圾收集器非常重要,但是應用更好的程式設計實踐往往可以獲得更好的效能。本章就探討一些在Java中使用堆記憶體的最佳實踐方法。

原生記憶體最佳實踐

在Java應用中,堆消耗的記憶體是最多的。但是除堆之外,JVM還會分配並使用大量的原生記憶體,從程式設計的角度探討了高效管理堆的不同方式。

執行緒與同步的效能

從剛問世起,Java的部分魅力就來自其多執行緒。即便在多核和多CPU系統司空見慣之前,。能夠輕鬆編寫多執行緒程式也是Java的一個標誌性特徵。

Java。EE效能調優

本章關注的是Java EE (特別是Java EE 6和7),涵蓋了JSP、servlet和EJB 3。0會話Bean—— -因為EJB 3。0實體Bean (Java持久化API實體,即JPA)並不限定於Java EE技術(第11章將深入討論),所以本章沒有涵蓋。

資料庫效能M最佳實踐

本章主要探討由Java驅動的資料庫應用的效能。方向資料庫的應用程式經常會受制於一些與Java不直接相關的效能問題,譬如使用的資料庫有I0瓶頸,或者由於關鍵索引缺失,導致SQL查詢需要做全表掃描。要解決這些問題,不必調優JVM,也不需要修改應用程式碼。

Java。SE。API。技巧

在某些JavaSEAPI的實現中,存在一些會影響效能的怪異行為,本章將對其進行探討。JDK中有很多這樣的實現細節,我經常會發現由其導致的效能問題(即便在我自己的程式碼中,也會存在)。

完整面試題以及答案以及整理在網盤

如果有需要可以私信我傳送:666 就可以領取到啦

上一篇:小米、華為、聯想牛大了!他們的產品伴隨神舟十二上了天
下一篇:淡水魚的“天堂”, 三峽水庫中的魚超過27年沒有捕撈, 能長多大?