java必读书籍_最佳5本Java性能调优书籍–精选,必读
java必讀書籍
為什么Java開發人員應該閱讀有關性能調優的書? 當我很久以前第一次面對這個問題時,我以為以后會做,但是我很長一段時間都沒有回過頭來。 僅當我在用Java編寫的任務關鍵型服務器端財務應用程序中遇到嚴重的性能和可伸縮性問題時,我才意識到自己缺乏對性能測量,調試和查找瓶頸的知識,這是我的錯誤。 的確,當您真正需要它時,您將學習最多,但是那些時間并不是學習基礎知識的最佳時間,實際上,這些時間是應用并糾正您的誤解的時間。 這就是為什么我與所有Java程序員共享這些Java性能書籍 ,并建議他們花一些時間至少閱讀一本完整的書籍。 順便提一下,這些書除了我的5本必讀之書之外,還適合Java程序員 。 請記住,有關性能調優的知識是高級Java開發人員的重要方面之一,可以使您與眾不同。 自將Java引入20年前以來,它就一直因其速度慢和性能不足而受到批評。 今天,就本地語言的性能而言,我認為Java不會落后。 鑒于Java具有使用JIT(及時編譯器)本地編譯熱代碼的能力,它幾乎可以與用C和C ++編寫的本地應用程序相提并論,但是可以通過遵循最佳實踐,避免常見的性能陷阱并使用最新工具來完成很多工作。和技術。 在本文中,我將介紹有關Java性能的五本一本不錯的書,它們不僅會教您測量什么,如何測量,而且還將解釋這些問題背后的基礎知識和概念。 您不僅將了解運行Java應用程序的系統和JVM,還將學習如何使用Java API編寫更快的代碼。 因此,我們還等什么呢,讓我們開始探索有關Java性能調優的書籍。
一言以蔽之,這是當前有關Java性能優化的最佳書籍 。 造成這種情況的原因有很多,其中之一是,這是一本最新的書,涵蓋了Java 7更新40。要學習性能調整,您應該了解工具,過程,選項,最重要的是避免常見的性能陷阱 。 本書在這一點上得分很高,它的章節介紹了Java性能工程師應該意識到的所有工具,包括Java 7u40中添加的工具,例如Flight Recorder和Java Mission Control。 它也有很好的章節介紹各種垃圾收集算法,例如并發標記掃描(CMS)和G1垃圾收集器。 您將學習它們在不同條件下如何工作,如何監視它們以及如何對其進行調整。 它還包括一整章有關堆分析和優化的內容。 這將教您一些常見的知識,例如如何用Java進行堆轉儲和直方圖,然后介紹許多減少堆內存占用的方法 。 它還有一章介紹JDBC和JPA性能。 關鍵點在于,它告訴您如何選擇適當的JDBC / JPA方法可能遠遠超過了SQL查詢調整帶來的收益。 同樣,它有一章完整的章節介紹了有關多線程問題,陷阱和對性能的影響。 它包括高級主題,例如ForkJoinPool和Java 8 Streams。 它還基于同步和錯誤共享,調整JVM線程(例如線程堆棧大小),配置有偏鎖,線程優先級和線程旋轉的成本。 順便說一下,到目前為止還沒有介紹什么,本書中最喜歡的II是第12章。本章介紹了一些經典的Java核心調優技巧及其影響。 這包括緩沖的I / O,類加載,隨機數生成,JNI,異常,字符串性能,日志記錄,Java Collections API,Java 8 lambda和vs匿名類,最后是Java 8流和多個過濾器性能。 這實際上是我閱讀的第一章,我愛上了它的內容和風格。 如果您想自己快速評估本書,建議您從本章開始。 它還基于Java EE性能,解釋了XML和JSON解析以及對象序列化的可能問題。
長期以來,這是我最喜歡的Java性能書,直到最近閱讀Scott Oaks撰寫的Java Performance The Definitive Guide。 這本書非常相似,就像從頂部取代它的那本書一樣。 它的章節解釋了如何進行性能測量,并解釋了測量CPU,內存和IO所需的工具。 有關解釋垃圾收集工作原理的章節,不同的GC算法(例如串行垃圾收集器與并行垃圾收集器,并發標記掃描收集器等)。Binu John和Charlie Hunt在如何構造實驗以發現優化機會,解釋結果并采取行動方面做得非常出色。有效的行動。 為了給您一些信譽并暗示您在本書中可以期望得到的結果,Charlie Hunt是Oracle的JVM性能首席工程師。 他負責改善HotSpot JVM和Java SE類庫的性能。 他還參與了改善Oracle GlassFish和Oracle WebLogic Server的性能的工作,Binu John是Ning,Inc.的高級性能工程師,他致力于改善Ning平臺的性能和可伸縮性,以支持數百萬的頁面瀏覽量。每月。 在此之前,他在Sun Microsystems工作了十多年,從事與Java有關的性能問題,并在Sun的Enterprise Java Performance團隊中任職。 如果您還沒有閱讀過有關Java性能調優的書,并且想為解決性能問題打下良好的基礎,那么這本書是您可以購買的書。 每花一分錢都是值得的。
系統性能分析是所有計算機用戶的一項重要技能,無論您是要了解筆記本電腦運行緩慢的原因,還是要優化大規模生產環境的性能。 它是對操作系統(內核)和應用程序性能的研究,本書將告訴您所有您需要了解的有關Linux性能監視和調整的知識。 程序員從優化算法,數據結構,JVM, 垃圾收集器開始,但是最終它們達到了系統性能發揮作用的地步。 您可能想知道為什么磁盤操作在開發設備上如此之快,但卻成為生產設備上的主要問題,CPU緩存如何對您的應用程序產生如此大的影響,如何利用L1,L2和L3緩存以及物理內存在您的機器上可用。 我認為,這是每位程序員的書,不僅是Java程序員的書。 對于真正對性能調優感興趣的任何開發人員來說,了解系統的工作方式,分頁,交換和虛擬內存的工作方式,CPU如何從磁盤獲取數據,不同類型的磁盤如何對受IO綁定的Java應用程序產生深遠影響都是非常重要的。 我經常說, 學習JVM,但現在我可以說您必須非常了解您的系統。 知道操作系統的基本知識,系統調用,內存,CPU,網絡和磁盤IO肯定會走很長一段路,并可以幫助您以任何編程語言(包括Java)編寫高性能應用程序。
這是一本有關Java性能調整和編寫在Java中執行速度更快的代碼的主要書籍之一。 杰克第一次寫這本書時,幾乎沒有可用的東西。 甚至本書的第二版都已經有11年的歷史了,大約在2003年發行。為什么我會推薦11年前寫的東西呢? 因為它包含一些建議,實踐和技術,這些建議,實踐和技術即使在今天也是永恒且值得了解的。 盡管您不能按照本書的原始精神來學習本書,但應始終牢記,本書中提到的大多數內容已在后續的Java版本中得到解決。 最好的建議是在第一章中,這本書告訴我Java應用程序的性能將受到CPU,內存和IO(磁盤和網絡)這三個主要因素的限制,令人驚訝的是,許多知道如何使用事件探查器的開發人員不知道這個基本事實。 我讀過的經典建議“不要調整您不需要調整的內容”是最好的性能建議。 您可以看一下本書中給出的性能檢查表,以了解什么是重要的,什么不是什么。 盡管這本書還介紹了許多性能分析工具,但是我建議使用諸如Scott Performances撰寫的Java Performance The Definitive Guide和Binu John撰寫的Java Performance這樣的最新書籍,Charlie Hunt擁有更多最新列表。 您應該記住,本書不僅僅涉及JDK 1.4.0。 但是您應該查看第4至12章,其中涵蓋了可應用于Java代碼的各種性能提示和技術。 Jack還擁有一個站點http://www.javaperformancetuning.com/ ,該站點對于學習Java開發人員的性能調優非常有用。
在介紹這本書之前,讓我介紹作者,他是PHD,在Vmware工作,專門研究高性能和可伸縮的企業Java應用程序,但是我認為他以“軟件性能和可伸縮性:定量方法”而著稱。 。 您可以在本書中看到他早期暢銷書的更專業版本。 顧名思義,這本書專注于Java應用程序的性能和可伸縮性。 這本書對Java開發人員,架構師甚至管理人員都有好處。 它分為兩個主要部分,第一部分介紹Java性能和可伸縮性的基礎知識,第二部分介紹提高性能和可伸縮性的實踐。 基礎部分包含四章,每章分別探討軟件程序,計算機硬件和Java虛擬機的可伸縮性。 第二部分包含各章,探討從32位到64位如何影響 Java應用程序的性能和可伸縮性。 第6章可能是最重要的一章,它解釋了如何調整Java以獲得最佳的性能和可伸縮性。 它介紹了方法,實踐,工具和調整Java應用程序時要牢記可伸縮性。 第7章是另一個重要的章節,它解釋了設計,算法和實現如何影響任何Java應用程序的性能和可伸縮性。 它還介紹了如何執行瓶頸分析。 好在他用示例程序解釋了所有這些,因此您可以在閱讀時遵循準則。 總體而言,對于Java性能工程師來說,這是一本非常獨特的好書,如果您喜歡閱讀多本書籍以獲取洞見,那么您可以將其與Java Performance The Definitive Guide and System Performance:Enterprise and Cloud一起閱讀 。
這是給讀者的好書,我不會說這本書只關注Java性能調優,但我會說這是每個現代Java開發人員都應該擁有的書。 Ben Evans和Martjin Verburg不需要任何介紹。 他們是著名的Java專家和jClarity的創始人, jClarity有望解決云環境中的性能問題。 他們在Java方面擁有多年的經驗,這在他們的《 The Well-Grounded Java Developer:Java 7的重要技術和多語言編程》中得到了體現。 我在2012年首次接觸這本書,在閱讀了示例章節之后,我被說服了買這本書。 這是現代Java開發人員必讀的書。 它說明了Java上的新更改,包括JDK 7中的更改,例如try-with-resources,NIO2.0和并發更改。 但最重要的是,它解釋了為什么向JVM添加新功能如此昂貴。 添加新的庫擴展(例如fork / join或語法糖,如switch-on-string)相對容易,但添加JVM指令(如invokedynamic)則非常昂貴。 關于這本書的最好的事情可能是它不僅會停留在Java上,而且還會進一步介紹現代JVM語言,例如Scala,Clojure和Groovy。 它使用新的JVM語言和現代方法來接觸函數式編程,以測試,構建和有爭議的Java應用程序集成。
這就是所有優秀的Java性能調優書籍的清單 。 我已經推薦了很多有效的Java知識,并且作為一本面向Java開發人員的書,但同時我也發現您應該有一本專門針對Java性能調優的書。 經過幾年的Java工作和經驗,您將不可避免地面臨性能挑戰,這時您應該至少了解發現瓶頸和提高Java應用程序性能的基本知識,工具和過程。 因此,如果您還沒有閱讀任何Java性能書籍,那么這是閱讀該書的時候。
翻譯自: https://www.javacodegeeks.com/2014/07/top-5-java-performance-tuning-books-best-of-lot-must-read.html
java必讀書籍
總結
以上是生活随笔為你收集整理的java必读书籍_最佳5本Java性能调优书籍–精选,必读的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ddos高防价格(抗ddos产品硬件多少
- 下一篇: 成为Java流大师–第4部分:数据库流