-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
JAVA系統性能優化實戰 版權信息
- ISBN:9787121375668
- 條形碼:9787121375668 ; 978-7-121-37566-8
- 裝幀:平裝-膠訂
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
JAVA系統性能優化實戰 本書特色
《Java系統性能優化實戰》基于作者在實際工作中遇到的與系統相關的問題及解決之道,通過改善代碼來提高系統性能,解決因為代碼導致的系統故障。本書介紹了如何在系統中運用高性能開源工具,以及代碼優化和設計技巧來提升性能。另外,如何編寫維護性強的代碼也在本書的寫作范疇內。本書還介紹了一些底層技術,比如Java字節碼、ASM和JSR269,這些技術同樣可以運用在項目中,以輔助提升性能和方便維護代碼。《Java系統性能優化實戰》是一本Java開發規范和系統性能優化指南,從高性能、易維護、代碼增強,以及在微服務系統中編寫Java代碼的角度來描述如何實現高性能Java系統。書中的大部分例子都是從作者所在傳統企業應用,以及高并發系統中摘錄而來的,極具參考意義。《Java系統性能優化實戰》適合中高級程序員和架構師,以及有志從事基礎技術研發、開源工具研發的極客閱讀。本書涉及的知識面比較廣泛,也可以作為Java筆試和面試的參考書籍。
JAVA系統性能優化實戰 內容簡介
《Java系統性能優化實戰》基于作者在實際工作中遇到的與系統相關的問題及解決之道,通過改善代碼來提高系統性能,解決因為代碼導致的系統故障。本書介紹了如何在系統中運用高性能開源工具,以及代碼優化和設計技巧來提升性能。另外,如何編寫維護性強的代碼也在本書的寫作范疇內。本書還介紹了一些底層技術,比如Java字節碼、ASM和JSR269,這些技術同樣可以運用在項目中,以輔助提升性能和方便維護代碼。《Java系統性能優化實戰》是一本Java開發規范和系統性能優化指南,從高性能、易維護、代碼增強,以及在微服務系統中編寫Java代碼的角度來描述如何實現高性能Java系統。書中的大部分例子都是從作者所在傳統企業應用,以及高并發系統中摘錄而來的,極具參考意義。《Java系統性能優化實戰》適合中不錯程序員和架構師,以及有志從事基礎技術研發、開源工具研發的極客閱讀。本書涉及的知識面比較廣泛,也可以作為Java筆試和面試的參考書籍。
JAVA系統性能優化實戰 目錄
1.1 可優化的代碼
1.2 性能監控
1.3 JMH
1.3.1 使用JMH
1.3.2 JMH常用設置
1.3.3 注意事項
1.3.4 單元測試
第2章 字符串和數字操作
2.1 構造字符串
2.2 字符串拼接
2.3 字符串格式化
2.4 字符串查找
2.5 替換
2.6 intern方法
2.7 StringUtils類
2.8 前綴樹過濾
2.9 數字裝箱
2.10 BigDecimal
第3章 并發編程和異步編程
3.1 不安全的代碼
3.2 Java并發編程
3.2.1 volatile
3.2.2 synchronized
3.2.3 Lock
3.2.4 Condition
3.2.5 讀寫鎖
3.2.6 Semaphore
3.2.7 柵欄
3.3 Java并發工具
3.3.1 原子變量
3.3.2 Queue
3.3.3 Future
3.3.4 ThreadLocal
3.4 Java線程池
3.5 異步編程
3.5.1 創建異步任務
3.5.2 完成后回調
3.5.3 串行執行
3.5.4 并行執行
3.5.5 接收任務處理結果
第4章 代碼性能優化
4.1 int轉String
4.2 使用Native方法
4.3 日期格式化
4.4 switch優化
4.5 優先使用局部變量
4.6 預處理
4.7 預分配
4.8 預編譯
4.9 預先編碼
4.10 謹慎使用Exception
4.11 批處理
4.12 展開循環
4.13 靜態方法調用
4.14 高速Map存取
4.15 位運算
4.16 反射
4.17 壓縮
4.18 可變數組
4.19 System.nanoTime()
4.20 ThreadLocalRandom
4.21 錯誤優化策略
4.21.1 final無法幫助內聯
4.21.2 subString內存泄漏
4.21.3 循環優化
4.21.4 循環中捕捉異常
第5章 高性能工具
5.1 高速緩存Caffeine
5.1.1 安裝Caffeine
5.1.2 Caffeine的基本使用方法
5.1.3 淘汰策略
5.1.4 statistics功能
5.1.5 Caffeine高命中率
5.1.6 卓越的性能
5.2 映射工具Selma
5.3 JSON工具Jackson
5.3.1 Jackson的三種使用方式
5.3.2 Jackson樹遍歷
5.3.3 對象綁定
5.3.4 流式操作
5.3.5 自定義JsonSerializer
5.3.6 集合的反序列化
5.3.7 性能提升和優化
5.4 HikariCP
5.4.1 安裝HikariCP
5.4.2 HikariCP性能測試
5.4.3 性能優化說明
5.5 文本處理工具Beetl
5.5.1 安裝和配置
5.5.2 腳本引擎
5.5.3 Beetl的特點
5.5.4 性能優化
5.6 MessagePack
5.7 ReflectASM
第6章 Java注釋規范
6.1 Javadoc
6.2 Tag
6.2.1 {@link}
6.2.2 @deprecated
6.2.3 {@literal}
6.2.4 {@code}
6.2.5 {@value}
6.2.6 @author
6.2.7 @param和@return
6.2.8 @throws
6.2.9 @see
6.2.10 自動復制
6.3 Package-Info
6.4 HTML的生成
6.5 Markdown-doclet
第7章 可讀性代碼
7.1 精簡注釋
7.2 變量
7.2.1 變量命名
7.2.2 變量的位置
7.2.3 中間變量
7.3 方法
7.3.1 方法簽名
7.3.2 短方法
7.3.3 單一職責
7.4 分支
7.4.1 if else
7.4.2 switch case
7.5 發現對象
7.5.1 不要使用String
7.5.2 不要用數組、Map
7.6 checked異常(可控異常)
7.7 其他事項
7.7.1 避免自動格式化
7.7.2 關于Null
第8章 JIT優化
8.1 解釋和編譯
8.2 C1和C2
8.3 代碼緩存
8.4 JITWatch
8.5 內聯
8.6 虛方法調用
第9章 代碼審查
9.1 ConcurrentHashMap陷阱
9.2 字符串搜索
9.3 I/O輸出
9.4 字符串拼接
9.5 方法的入參和出參
9.6 RPC調用定義的返回值
9.7 Integer的使用
9.8 排序
9.9 判斷特殊的ID
9.10 優化if結構
9.11 文件復制
9.12 switch優化
9.13 Encoder
9.14 一個JMH例子
9.15 注釋
9.16 完善注釋
9.17 方法抽取
9.18 遍歷Map
9.19 日期格式化
9.20 日志框架設計的問題
9.21 持久化到數據庫
9.22 某個RPC框架
9.23 循環調用
9.24 lock的使用
9.25 字符集
9.26 處理枚舉值
9.27 任務執行
9.28 開關判斷
9.29 JDBC操作
9.30 Controller代碼
9.31 停止任務
第10章 ASM運行時增強
10.1 Java字節碼
10.1.1 基礎知識
10.1.2 .class文件的格式
10.2 Java方法的執行
10.2.1 方法在內存中的表示
10.2.2 方法在.class文件中的表示
10.2.3 指令的分類
10.2.4 操作數棧的變化分析
10.3 Bytecode Outline插件
10.4 ASM入門
10.4.1 生成類名和構造函數
10.4.2 生成main方法
10.4.3 調用生成的代碼
10.5 ASM增強代碼
10.5.1 使用反射實現
10.5.2 使用ASM生成輔助類
10.5.3 switch語句的分類
10.5.4 獲取Bean中的property
10.5.5 switch語句的實現
10.5.6 性能對比
第11章 JSR269編譯時增強
11.1 Java編譯的過程
11.2 注解處理器入門
11.3 相關概念介紹
11.3.1 AbstractProcessor
11.3.2 Element與TypeMirror
11.4 注解處理器進階
11.4.1 JsonWriter注解
11.4.2 處理器與生成輔助類
11.4.3 使用生成的Mapper類
11.4.4 注解處理器的使用
11.5 調試注解處理器
11.5.1 在Eclipse中調試注解處理器
11.5.2 在IDEA中調試注解處理
附錄A 使用OQL分析虛擬機內存
JAVA系統性能優化實戰 相關資料
看了李兄的第4章“代碼性能優化”,里面提到了很多代碼優化技巧,非常實用,很多技巧也是t-io經常在用的,比如預編譯、預編碼、批處理、壓縮等。
高性能的程序,都沒有容易二字,都是一個細節一個細節摳出來的,希望李兄的這本書可以幫到更多Java工程師和架構師,也祝本書的讀者以后Bug少少、性能高高。
——譚耀武(知名網絡框架t-io創始人,目前任牛吧云播CTO)
有幸閱讀此書,這是一本大道至簡的Java性能優化指南,使得我們的開源項目的代碼質量和性能有了飛躍,更能夠指導每個Java工程師寫出優雅、易閱讀、高質量、易于擴展的代碼。
——肖宇(開源組織dromara.org創始人,分布式事務框架hmily、
API網關soul等開源框架作者)
讀了家智的第8章“JIT優化”、第10章“ASM運行時增強”、第11章“JSR269編譯時增強”,頗感驚艷。很少有文章或書籍能夠將JIT、ASM、JSR269用近乎白話的方式進行較為系統的闡述。家智使用很少的文字把這三個比較深的知識說清楚、帶入門,實屬難得。
應用性能管理(APM)在高性能的應用系統中相當重要,字節碼和運行增強技術點也非常深。本書不僅可以作為Java應用程序性能優化的指導,也是很好的Java APM領域入門工具書。
——高馳濤(SeasLog及多項開源項目作者、SeasX開源團隊創始人,APM專家,
目前任云智慧Technical VP)
此書很好地介紹了Java在代碼層面的一些優化技巧,同時透過這些技巧很好地解釋了JVM在解析代碼時的工作方式。其實這種小技巧在熟悉原理后完全可以封裝成現成的工具避免重復勞動。Hutool工具也是優化代碼后封裝的結果,而本書幾乎涵蓋了這些技巧。不只是性能優化,在代碼規范上本書也有很好的詮釋。好的規范可以規避大部分的“坑”,因此如果你想少“踩坑”,本書也不容錯過。
——路小磊(知名開源Java工具包Hutool作者)
指數級增長面臨的技術挑戰是系統性能。性能優化是時間和空間的藝術,而運行時優化又是性能優化技術體系的難點所在,一直是軟件工程師們的苦處。家智兄的《Java系統性能優化實戰》一書有庖丁解牛的味道,從run-time的視角指出了Java代碼系統性優化的一些方向和實戰技法,可以作為Java程序員追求性能極致的參考指南甚至案頭手冊。能先睹為快,真一幸事!
——曹洪偉(百度DuerOS首席布道師)
本書對日常Java開發工作中的性能優化方法做了詳盡的闡述,可以很好地指導我們讓自己的代碼更健壯的同時更高效。書中還為我們提供了高性能工具的使用和建議,非常值得一讀。
——王新棟(*資深架構師,《架構修煉之道》作者)
隨著需求功能不斷的迭代,系統瓶頸越發明顯,本書對工作中遇到的系統性能優化做了詳盡的講解,并提供了一套切實可行的實踐指南。如何打破系統的壞味道?如何提高系統的性能?如何設計出高性能的技術架構?閱讀本書對讀者必有裨益。
——梁桂釗(《高可用可伸縮微服務架構:基于Dubbo、Spring Cloud和Service Mesh》
聯合作者)
編程的本質是在時間和空間上組織邏輯結構并管理系統復雜性,這讓編程成為非常有趣的工作,同時極具挑戰性。大賦在本書中采用短小而貼切的例子就Java編程的幾乎所有方面講述各種技巧與陷阱。全書組織清晰、文筆簡明,對于Java新手是必讀的cookbook,對于像我這樣的Java老人也是一本雋秀的散文集。
——羅格林(ACTFramework作者)
JAVA系統性能優化實戰 作者簡介
李家智:網名閑大賦,曾在電信行業、金融行業和互聯網電商行業任職資深架構師。從事軟件開發近20年,致力于Java和Java EE系統的架構和實現。張世敏:目前就職于東方金科,7年Java軟件開發經驗,喜歡參與開源項目,熱衷于探索新的技術。
- >
中國人在烏蘇里邊疆區:歷史與人類學概述
- >
詩經-先民的歌唱
- >
我從未如此眷戀人間
- >
人文閱讀與收藏·良友文學叢書:一天的工作
- >
李白與唐代文化
- >
名家帶你讀魯迅:故事新編
- >
名家帶你讀魯迅:朝花夕拾
- >
大紅狗在馬戲團-大紅狗克里弗-助人