日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

最佳5本Java性能调优书籍–精选,必读

發(fā)布時(shí)間:2023/12/3 java 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 最佳5本Java性能调优书籍–精选,必读 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

為什么Java開發(fā)人員應(yīng)該閱讀有關(guān)性能調(diào)優(yōu)的書? 當(dāng)我很久以前第一次面對這個(gè)問題時(shí),我以為以后會(huì)做,但是我很長一段時(shí)間都沒有回過頭來。 僅當(dāng)我在用Java編寫的任務(wù)關(guān)鍵型服務(wù)器端財(cái)務(wù)應(yīng)用程序中遇到嚴(yán)重的性能和可伸縮性問題時(shí),我才意識(shí)到自己的錯(cuò)誤,即缺乏對性能測量,調(diào)試和查找瓶頸的知識(shí)。 的確,當(dāng)您真正需要它時(shí),您將學(xué)到最多的知識(shí),但是那些時(shí)間并不是學(xué)習(xí)基礎(chǔ)知識(shí)的最佳時(shí)間,實(shí)際上,這些時(shí)間是應(yīng)用并糾正您的誤解的時(shí)間。 這就是為什么我與所有Java程序員共享這些Java性能書籍 ,并建議他們花一些時(shí)間至少閱讀一本完整的書籍。 順便提一下,這些書除了我的5本必須閱讀的Java程序員書籍外 。 記住,有關(guān)性能調(diào)優(yōu)的知識(shí)是高級Java開發(fā)人員的重要方面之一,可以使您與眾不同。 自從Java推出以來(大約20年前),它就因?yàn)檫\(yùn)行緩慢和缺乏性能而受到批評。 今天,就本地語言的性能而言,我認(rèn)為Java不會(huì)落后。 鑒于Java具有使用JIT(及時(shí)編譯器)本地編譯熱代碼的能力,它幾乎可以與用C和C ++編寫的本地應(yīng)用程序相提并論,但是可以通過遵循最佳實(shí)踐,避免常見的性能陷阱并使用最新工具來完成很多工作。和技術(shù)。 在本文中,我將介紹有關(guān)Java性能的五本一本不錯(cuò)的書,它們不僅會(huì)教您測量什么,如何測量,而且還將解釋這些問題背后的基礎(chǔ)知識(shí)和概念。 您不僅將了解運(yùn)行Java應(yīng)用程序的系統(tǒng)和JVM,還將學(xué)習(xí)如何使用Java API編寫更快的代碼。 因此,我們還等什么,讓我們開始探索Java性能調(diào)優(yōu)的好書之路。

  • Java Performance權(quán)威指南,作者:Scott Oaks

    一言以蔽之,這是當(dāng)前有關(guān)Java性能優(yōu)化的最佳書籍 。 造成這種情況的原因有很多,其中之一是,這是一本最新的書,涵蓋了Java 7更新40。為了學(xué)習(xí)性能調(diào)整,您應(yīng)該了解工具,過程,選項(xiàng),最重要的是避免常見的性能陷阱 。 本書在這一點(diǎn)上得分很高,它的章節(jié)介紹了Java性能工程師應(yīng)該意識(shí)到的所有工具,包括Java 7u40中添加的工具,例如Flight Recorder和Java Mission Control。 它也很好地解釋了各種垃圾收集算法,例如并發(fā)標(biāo)記掃描(CMS)和G1垃圾收集器。 您將學(xué)習(xí)它們在不同條件下如何工作,如何監(jiān)視它們以及如何對其進(jìn)行調(diào)整。 它還包括一整章有關(guān)堆分析和優(yōu)化的內(nèi)容。 這將教您一些常見的知識(shí),例如如何使用Java進(jìn)行堆轉(zhuǎn)儲(chǔ)和直方圖,然后介紹許多減少堆內(nèi)存占用的方法 。 它還有一章關(guān)于JDBC和JPA性能。 關(guān)鍵點(diǎn)在于,它告訴您如何選擇適當(dāng)?shù)腏DBC / JPA方法可能遠(yuǎn)遠(yuǎn)超過了SQL查詢調(diào)整帶來的收益。 同樣,它有一章完整的章節(jié),介紹了有關(guān)多線程問題,陷阱和對性能的影響。 它包括高級主題,例如ForkJoinPool和Java 8 Streams。 它還基于同步和錯(cuò)誤共享,調(diào)整JVM線程(例如線程堆棧大小),配置有偏鎖,線程優(yōu)先級和線程旋轉(zhuǎn)的成本。 順便說一下,到目前為止還沒有介紹最好的內(nèi)容,本書最喜歡的II是第12章。本章介紹了一些經(jīng)典的Java核心調(diào)優(yōu)技巧及其影響。 這包括緩沖的I / O,類加載,隨機(jī)數(shù)生成,JNI,異常,字符串性能,日志記錄,Java Collections API,Java 8 lambda與匿名類,最后是Java 8流和多個(gè)過濾器性能。 這實(shí)際上是我閱讀的第一章,我愛上了它的內(nèi)容和風(fēng)格。 如果您想自己快速評估本書,建議您從本章開始。 它還基于Java EE性能,解釋了XML和JSON解析以及對象序列化的可能問題。

  • Java Performance by Binu John,查理·亨特(Charlie Hunt)

    長期以來,這是我最喜歡的Java性能書,直到最近閱讀Scott Oaks撰寫的Java Performance The Definitive Guide。 這本書非常相似,就像從頂部取代它的那本書一樣。 它的章節(jié)解釋了如何進(jìn)行性能測量,并解釋了測量CPU,內(nèi)存和IO所需的工具。 有關(guān)解釋垃圾收集工作原理的章節(jié),不同的GC算法(例如串行垃圾收集器與并行垃圾收集器,并發(fā)標(biāo)記掃描收集器等)。Binu John和Charlie Hunt在構(gòu)建實(shí)驗(yàn)方面做得非常出色,這些實(shí)驗(yàn)可以識(shí)別優(yōu)化機(jī)會(huì),解釋結(jié)果并采取行動(dòng)有效的行動(dòng)。 為了給您一些信譽(yù)并暗示您在本書中可以期望得到的結(jié)果,Charlie Hunt是Oracle的JVM性能首席工程師。 他負(fù)責(zé)改善HotSpot JVM和Java SE類庫的性能。 他還參與了改善Oracle GlassFish和Oracle WebLogic Server的性能的工作,Binu John是Ning,Inc.的高級性能工程師,他致力于改善Ning平臺(tái)的性能和可伸縮性,以支持?jǐn)?shù)百萬的頁面瀏覽量。每月。 在此之前,他在Sun Microsystems工作了十多年,從事與Java有關(guān)的性能問題,并在Sun的Enterprise Java Performance團(tuán)隊(duì)中任職。 如果您還沒有閱讀過有關(guān)Java性能調(diào)優(yōu)的書,并且想為解決性能問題打下良好的基礎(chǔ),那么這本書是您可以購買的書。 每花一分錢都是值得的。

  • 系統(tǒng)性能:企業(yè)與云作者:Brendan Gregg

    系統(tǒng)性能分析是所有計(jì)算機(jī)用戶的一項(xiàng)重要技能,無論您是要了解筆記本電腦運(yùn)行緩慢的原因,還是要優(yōu)化大規(guī)模生產(chǎn)環(huán)境的性能。 它是對操作系統(tǒng)(內(nèi)核)和應(yīng)用程序性能的研究,這本書將告訴您所有您需要了解的有關(guān)Linux性能監(jiān)視和調(diào)整的知識(shí)。 程序員從優(yōu)化算法,數(shù)據(jù)結(jié)構(gòu),JVM, 垃圾收集器開始,但是最終它們達(dá)到了系統(tǒng)性能發(fā)揮作用的地步。 您可能想知道為什么磁盤操作在開發(fā)設(shè)備上如此之快,卻成為生產(chǎn)設(shè)備上的主要問題,CPU緩存如何對您的應(yīng)用程序產(chǎn)生如此大的影響,如何利用L1,L2和L3緩存以及物理內(nèi)存在您的機(jī)器上可用。 我認(rèn)為,這是每位程序員的書,不僅是Java程序員的書。 對于任何真正對性能調(diào)整感興趣的開發(fā)人員而言,了解系統(tǒng)的工作方式,分頁,交換和虛擬內(nèi)存的工作方式,CPU如何從磁盤獲取數(shù)據(jù),不同類型的磁盤如何對受IO綁定的Java應(yīng)用程序產(chǎn)生深遠(yuǎn)影響都是非常重要的。 我經(jīng)常說學(xué)習(xí)JVM,但是現(xiàn)在我可以說您必須非常了解您的系統(tǒng)。 知道操作系統(tǒng)的基本知識(shí),系統(tǒng)調(diào)用,內(nèi)存,CPU,網(wǎng)絡(luò)和磁盤IO肯定會(huì)走很長一段路,并且可以幫助您以任何編程語言(包括Java)編寫高性能應(yīng)用程序。

  • Jack Shirazi編寫的Java性能調(diào)優(yōu)

    這是一本有關(guān)Java性能調(diào)整和編寫在Java中執(zhí)行速度更快的代碼的主要書籍之一。 杰克第一次寫這本書時(shí),幾乎沒有可用的東西。 甚至本書的第二版都已經(jīng)有11年的歷史了,大約在2003年發(fā)行。為什么我會(huì)推薦11年前寫的東西呢? 因?yàn)樗恍┙ㄗh,實(shí)踐和技術(shù),這些建議,實(shí)踐和技術(shù)即使在今天也是永恒且值得了解的。 盡管您不能按照本書的原始精神來學(xué)習(xí)本書,但應(yīng)始終牢記,本書中提到的大多數(shù)內(nèi)容已在后續(xù)的Java版本中得到解決。 最好的建議是在第一章中,這本書告訴我Java應(yīng)用程序的性能將受CPU,內(nèi)存和IO(磁盤和網(wǎng)絡(luò))這三個(gè)主要因素的限制,令人驚訝的是,許多知道如何使用事件探查器的開發(fā)人員不知道這個(gè)基本事實(shí)。 我讀過的經(jīng)典建議“不要調(diào)整您不需要調(diào)整的內(nèi)容”是最好的性能建議。 您可以看一下本書中給出的性能檢查表,以了解什么是重要的,什么不是什么。 盡管這本書還介紹了許多性能分析工具,但是我建議使用諸如Scott Performances撰寫的Java Performance The Definitive Guide和Binu John撰寫的Java Performance這樣的最新書籍,Charlie Hunt擁有更多最新列表。 您應(yīng)該記住,本書不僅僅涵蓋JDK 1.4.0。 但是您應(yīng)該查看第4至12章,其中涵蓋了可應(yīng)用于Java代碼的各種性能提示和技術(shù)。 Jack還擁有一個(gè)站點(diǎn)http://www.javaperformancetuning.com/ ,該站點(diǎn)對于學(xué)習(xí)Java開發(fā)人員的性能調(diào)優(yōu)非常有用。

  • Java性能和可伸縮性:Henry H. Liu的定量方法

    在介紹這本書之前,讓我介紹作者,他是PHD,在Vmware工作,專門研究高性能和可伸縮的企業(yè)Java應(yīng)用程序,但是我認(rèn)為他以“軟件性能和可伸縮性:定量方法”而著稱。 。 您可以在這本書中看到他早期暢銷書的更專業(yè)版本。 顧名思義,這本書專注于Java應(yīng)用程序的性能和可伸縮性。 這本書對Java開發(fā)人員,架構(gòu)師甚至管理人員都有好處。 它分為兩個(gè)主要部分,第一部分介紹Java性能和可伸縮性的基礎(chǔ)知識(shí),第二部分介紹提高性能和可伸縮性的實(shí)踐。 基礎(chǔ)部分包含四章,每章分別探討軟件程序,計(jì)算機(jī)硬件和Java虛擬機(jī)的可伸縮性。 第二部分包含各章,探討從32位到64位如何影響 Java應(yīng)用程序的性能和可伸縮性。 第6章可能是最重要的一章,它解釋了如何調(diào)整Java以獲得最佳的性能和可伸縮性。 它介紹了方法,實(shí)踐,工具和調(diào)整Java應(yīng)用程序時(shí)要牢記可伸縮性。 第7章是另一個(gè)重要的章節(jié),解釋了設(shè)計(jì),算法和實(shí)現(xiàn)如何影響任何Java應(yīng)用程序的性能和可伸縮性。 它還介紹了如何執(zhí)行瓶頸分析。 好在他用示例程序解釋了所有這些,因此您可以在閱讀時(shí)遵循準(zhǔn)則。 總體而言,對于Java性能工程師而言,這是一本非常獨(dú)特的好書,如果您喜歡閱讀多本書籍以獲取洞見,那么您可以將其與Java Performance The Definitive Guide and System Performance:Enterprise and Cloud一起閱讀 。

  • 經(jīng)驗(yàn)豐富的Java開發(fā)人員

    這是給讀者的好書,我不會(huì)說這本書只關(guān)注Java性能調(diào)優(yōu),但我會(huì)說這是每個(gè)現(xiàn)代Java開發(fā)人員都應(yīng)該擁有的書。 Ben Evans和Martjin Verburg不需要任何介紹。 他們是著名的Java專家和jClarity的創(chuàng)始人, jClarity有望解決云環(huán)境中的性能問題。 他們在Java方面擁有多年的經(jīng)驗(yàn),這在他們的書籍《成熟的Java開發(fā)人員:Java 7的重要技術(shù)和多語言編程》中得到了反映。 我在2012年首次接觸這本書,在閱讀了示例章節(jié)之后,我被說服了買這本書。 這是現(xiàn)代Java開發(fā)人員必讀的書。 它說明了Java上的新更改,包括JDK 7中的更改,例如try-with-resources,NIO2.0和并發(fā)更改。 但最重要的是,它解釋了為什么向JVM添加新功能如此昂貴。 添加新的庫擴(kuò)展(如fork / join或語法糖,如switch-on-string)相對容易,但是添加JVM指令(如invokedynamic)則非常昂貴。 關(guān)于這本書的最好的事情可能是它不僅會(huì)停留在Java上,而且會(huì)進(jìn)一步介紹現(xiàn)代JVM語言,例如Scala,Clojure和Groovy。 它使用新的JVM語言和現(xiàn)代方法來接觸函數(shù)式編程,以測試,構(gòu)建和有爭議的Java應(yīng)用程序集成。

  • 這就是所有優(yōu)秀的Java性能調(diào)優(yōu)書籍的清單 。 我已經(jīng)多次推薦“有效Java”,并且作為一本面向Java開發(fā)人員的書,但同時(shí)我也發(fā)現(xiàn)您應(yīng)該有一本專門針對Java性能調(diào)優(yōu)的書。 經(jīng)過幾年的Java工作和經(jīng)驗(yàn),您將不可避免地面臨性能挑戰(zhàn),這時(shí)您應(yīng)該至少了解發(fā)現(xiàn)瓶頸和提高Java應(yīng)用程序性能的基本知識(shí),工具和過程。 因此,如果您還沒有閱讀過Java性能手冊,那么現(xiàn)在該讀一本了。

    翻譯自: https://www.javacodegeeks.com/2014/07/top-5-java-performance-tuning-books-best-of-lot-must-read.html

    總結(jié)

    以上是生活随笔為你收集整理的最佳5本Java性能调优书籍–精选,必读的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。