買這商品的人也買了...
-
人月神話:軟體專案管理之道 (20 週年紀念版)(The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, 2/e)$480$379 -
The Linux Programming Interface 國際中文版 (上冊)$800$632 -
The Linux Programming Interface 國際中文版 (下冊)$800$632 -
$454Java 高並發編程詳解:多線程與架構設計 -
$422JVM G1 源碼分析和調優 -
$454新一代垃圾回收器ZGC設計與實現 -
$658分佈式中間件技術實戰:Java版 -
ASP.NET Core 與 RESTful API 開發實戰$474$450 -
$207算法設計指南, 2/e (The Algorithm Design Manual, 2/e) -
$653億級流量 Java 高並發與網絡編程實戰 -
極速開發 Java 大型系統:Spring Boot 又輕又快又好學$880$695 -
$607Java 程序性能優化實戰 -
中臺架構與實現:基於 DDD 和微服務$534$507 -
$403深入解析 Java 虛擬機 HotSpot -
Spring Boot 微服務跨語言:最強 Kotlin 後端開發終極範例$790$624 -
架構師的自我修煉:技術、架構和未來$534$507 -
$894Java 高並發核心編程 捲1 (NIO\Netty\Redis\ZooKeeper) -
瘋狂 Java 面試講義 — 數據結構、算法與技術素養$648$616 -
$387Java 高並發核心編程 捲2 : 多線程、鎖、JMM、JUC、高並發設計模式 -
$403Java 多線程與線程池技術詳解 -
Spring Data JPA:入門、實戰與進階$774$735 -
On Java 中文版 基礎捲$779$740 -
On Java 中文版 進階捲$779$740 -
$505Python FastAPI Web 開發從入門到項目實戰 (視頻版) -
$602Java 高並發核心編程 捲3:億級用戶 Web 應用架構與實戰 (加強版)
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
85折
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$544 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$390 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
本書是按照程序設計與架構的順序編寫的,共13章。第1章介紹學習高性能Java應瞭解的核心知識,為前置內容。第2章和第3章講解在編寫代碼之前,如何高效地為MySQL填充億級數據,並對MySQL進行基準測試,以便在之後編程時有所比較。第4章講解在編寫代碼的過程中如何優化代碼,使代碼更高效。第5章和第6章講解在寫好代碼之後如何測試並優化場景響應速度。第7章和第8章講解在程序上線執行一段時間之後如何對MySQL進行主從復制、分庫分表。第9章講解如何通過Prometheus和Grafana監控MySQL節點。第10章和第11章講解如何通過堆內緩存、堆外緩存(MapDB)和磁盤緩存解決MySQL數據庫性能不佳的問題。第12章講解如何使用分佈式鎖Redisson解決實際應用中常見的數據一致性問題。第13章簡要介紹Java中的常見架構與工具。本書不僅適合Java初學者、剛入行的編程人員,也適合對高性能、高並發感興趣的程序員。
作者簡介
張方興,多年從事Java編程工作,參與多個項目研發,曾編著《微服務分佈式基礎架構與實戰――基於Spring Boot+Spring Cloud》一書。
目錄大綱
第1 章 高性能Java 核心知識概述 1
1.1 高性能 1
1.2 高並發 2
1.3 高可用 2
1.4 算法、GC 與診斷工具 3
1.4.1 算法 3
1.4.2 GC 4
1.4.3 jvmtop 4
1.4.4 jstat 5
1.4.5 Arthas 6
1.5 分離術 8
1.6 基準測試 . 8
1.6.1 基準測試的概念 . 8
1.6.2 基準測試的實際用途 . 9
1.6.3 基準測試與一般性能測試的區別 . 9
1.7 性能測試 . 9
1.7.1 性能測試的目的 . 9
1.7.2 性能測試著重觀察的指標 . 9
1.7.3 性能測試存在的誤區 . 10
1.7.4 性能測試應涵蓋的內容 . 11
1.8 業務測試 . 12
1.9 單元測試 . 12
1.9.1 等價類劃分 . 13
1.9.2 邊界值分析 . 14
1.9.3 錯誤推測法 . 15
1.10 數據庫概述 . 15
1.10.1 數據庫分類 . 16
1.10.2 數據庫測試的具體內容 . 21
1.11 緩存的核心知識 . 22
1.11.1 緩存的命中率 . 23
1.11.2 緩存回收方式 . 23
1.11.3 緩存回收策略 . 23
1.11.4 緩存的設計模式 . 23
1.11.5 緩存測試應涵蓋的內容 . 24
1.11.6 實戰:秒殺系統設計方案 24
1.12 總結——業務、性能、編程、架構相輔相成 25
第2 章 為MySQL 填充億級數據 27
2.1 問題描述 . 27
2.2 問題分析與解決方案 . 27
2.3 為MySQL 填充億級數據實戰 28
2.3.1 INSERT INTO SELECT 方案 . 28
2.3.2 存儲過程方案 . 32
2.3.3 Loadfile 方案 . 33
2.3.4 第三方解決方案 . 34
2.4 最終結果 . 35
第3 章 MySQL 基準測試:sysbench 與mysqlslap 36
3.1 問題描述 . 36
3.2 問題分析與解決方案 . 36
3.2.1 解決方案:sysbench . 37
3.2.2 sysbench 的命令與參數 38
3.2.3 解決方案:mysqlslap . 40
3.2.4 mysqlslap 的命令與參數 41
3.3 sysbench 實戰 42
3.3.1 使用sysbench 壓測CPU、內存和磁盤I/O 42
3.3.2 初次使用sysbench 壓測MySQL . 46
3.3.3 深度使用sysbench 壓測MySQL . 49
3.4 mysqlslap 實戰 51
3.5 其他基準壓測工具 . 56
第4 章 代碼單元的性能測試與優化 57
4.1 問題描述 . 57
4.2 問題分析與解決方案 . 57
4.3 JMH 實戰 58
4.3.1 測試JMH 基準性能 . 58
4.3.2 測試i++基準性能 . 60
4.3.3 用JMH 執行多個函數的結果 62
第5 章 Web 性能測試解決方案:JMeter 67
5.1 問題描述 . 67
5.2 問題分析與解決方案 . 67
5.3 JMeter 的特點 . 68
5.4 深入理解JMeter . 68
5.4.1 JMeter 中的部分配置元件 . 68
5.4.2 JMeter 參數化的實現方式 . 69
5.4.3 JMeter 函數 . 70
5.4.4 通過JMeter 讀取外部文件 72
5.4.5 通過JMeter 提取上一個接口返回值 . 73
5.5 JMeter 實戰 . 74
5.5.1 初次使用JMeter 測試REST 接口 . 74
5.5.2 錄制性能測試腳本 . 80
第6 章 SQL 優化與索引優化 83
6.1 問題描述 . 83
6.2 問題分析與解決方案 . 83
6.3 SQL 執行計劃 . 84
6.4 SQL 優化與索引優化實戰 . 91
6.4.1 SQL 索引優化 . 91
6.4.2 分頁查詢優化 . 95
6.4.3 慢SQL 日誌分析工具mysqldumpslow . 96
第7 章 MySQL 主從復制 101
7.1 問題描述 . 101
7.2 問題分析與解決方案 . 101
7.3 MySQL 主從復制原理 . 101
7.4 深入理解MySQL 中的二進制日誌. 103
7.4.1 查看MySQL 二進制日誌狀態 103
7.4.2 log_bin 和sql_log_bin 的區別 104
7.4.3 開啟二進制日誌 . 104
7.4.4 查看二進制日誌文件的名稱、大小和狀態 108
7.4.5 刪除某個日誌之前的所有二進制日誌文件 109
7.4.6 刪除某個時間點以前的二進制日誌文件 110
7.4.7 刪除所有的二進制日誌文件 . 111
7.4.8 查看二進制日誌文件內容 . 111
7.4.9 通過二進制日誌文件恢復MySQL . 116
7.5 MySQL 主從復制實戰 . 117
7.5.1 構建MySQL 主從復制架構 117
7.5.2 使用Spring Boot 整合MySQL 主從復制架構 . 126
第8 章 MySQL 分庫分表:MyCAT . 129
8.1 問題描述 . 129
8.2 問題分析與解決方案 . 129
8.3 MyCAT 實戰 . 130
8.3.1 構建MyCAT 一主多從架構 130
8.3.2 構建MyCAT 雙主多從環境 140
8.3.3 MyCAT 分庫——垂直拆分 142
8.3.4 MyCAT 分表——水平拆分 144
8.3.5 構建HAProxy + MyCAT + MySQL 高可用架構 146
第9 章 MySQL 性能監控解決方案:Prometheus+Grafana 152
9.1 問題描述 . 152
9.2 問題分析與解決方案 . 152
9.3 Prometheus 概述與適用場景 152
9.4 時序數據庫概述與適用場景 . 153
9.5 Grafana 概述與適用場景 154
9.6 構建Prometheus + Grafana 監控實戰 154
第10 章 堆內緩存解決方案:Java 堆內緩存與Guava Cache 171
10.1 問題描述 . 171
10.2 問題分析與解決方案 . 171
10.3 Java 堆內緩存 . 172
10.3.1 Java 堆內緩存原理 . 172
10.3.2 Java 堆內緩存中的常見算法及實戰 173
10.4 Guava Cache 實戰 . 190
10.4.1 創建Google 的容器工廠 190
10.4.2 屏蔽NULL 值 . 191
10.4.3 管理字符串 . 192
10.4.4 操作Google 的Multiset 容器 . 192
10.4.5 操作Google 的Multimap 容器 193
10.4.6 操作Google 的BiMap 容器 . 194
10.4.7 操作Google 的Table 容器 . 194
10.4.8 操作Google 的classToInstanceMap 容器 196
10.4.9 操作Google 的RangeSet 容器 . 196
10.4.10 操作Google 的RangeMap 容器. 198
10.4.11 操作Google 的Guava Cache 198
第11 章 堆外緩存與磁盤緩存解決方案:MapDB 203
11.1 問題描述 . 203
11.2 問題分析與解決方案 . 203
11.2.1 堆外緩存 . 203
11.2.2 MapDB 204
11.2.3 實戰:初次使用MapDB 205
11.3 MapDB 的構造原理 206
11.4 MapDB 的使用方法 208
11.5 MapDB 實戰 210
11.5.1 MapDB 的序列化 210
11.5.2 MapDB 的事務 211
11.5.3 MapDB 的監聽器與多級緩存 212
第12 章 基於Redis 的分佈式鎖解決方案:Redisson . 214
12.1 分佈式鎖與Redisson 原理 . 214
12.2 單機版超買或超賣問題描述及解決方案 216
12.3 分佈式版超買或超賣問題描述及解決方案 218
12.4 多線程死鎖問題描述及解決方案 . 219
12.5 Redisson 實戰 223
12.5.1 Redisson 的可重入鎖 223
12.5.2 Redisson 的公平鎖 223
12.5.3 Redisson 的聯鎖 225
12.5.4 Redisson 的紅鎖 226
12.5.5 Redisson 的讀寫鎖 227
12.5.6 Redisson 的信號量 229
12.5.7 Redisson 的分佈式閉鎖 230
第13 章 Java 中的常見架構與工具 . 233
13.1 自動化測試架構 . 233
13.2 自動化持續集成部署架構 . 233
13.3 高並發架構 . 234
13.4 響應式編程架構 . 236
13.5 負載均衡架構 . 238
13.6 監控工具與監控架構 . 239
13.7 其他工具與架構 . 241
