-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
高性能Java架構:核心原理與案例實戰 版權信息
- ISBN:9787121376221
- 條形碼:9787121376221 ; 978-7-121-37622-1
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
高性能Java架構:核心原理與案例實戰 本書特色
適讀人群 :本書不僅適合Java初學者、剛入行的編程人員,也適合對高性能、高并發感興趣的程序員。市面上介紹各種Java框架的書很多,如Spring Boot、Spring Cloud等,這類書會讓你的技術“量”增長,但很少有人會教給你如何提升技術的“質”,網絡上也很少有體系化、結構化的提升技術的“質”的教材。這本書從架構的角度,講解在架構各個階段很多讀者會遇到的問題,以及相關原理解析,讀者可以舉一反三,從更高的角度看到自己遇到的問題,提升技術的“質”。
高性能Java架構:核心原理與案例實戰 內容簡介
本書是按照程序設計與架構的順序編寫的,共13章。章介紹學習高性能Java應了解的核心知識,為前置內容。第2章和第3章講解在編寫代碼之前,如何高效地為MySQL填充億級數據,并對MySQL進行基準測試,以便在之后編程時有所比較。第4章講解在編寫代碼的過程中如何優化代碼,使代碼更高效。第5章和第6章講解在寫好代碼之后如何測試并優化場景響應速度。第7章和第8章講解在程序上線執行一段時間之后如何對MySQL進行主從復制、分庫分表。第9章講解如何通過Prometheus和Grafana監控MySQL節點。0章和1章講解如何通過堆內緩存、堆外緩存(MapDB)和磁盤緩存解決MySQL數據庫性能不佳的問題。2章講解如何使用分布式鎖Redisson解決實際應用中常見的數據一致性問題。3章簡要介紹Java中的常見架構與工具。本書不僅適合Java初學者、剛入行的編程人員,也適合對高性能、高并發感興趣的程序員。
高性能Java架構:核心原理與案例實戰 目錄
第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
高性能Java架構:核心原理與案例實戰 作者簡介
張方興,多年從事Java編程工作,參與多個項目研發,曾編著《微服務分布式基礎架構與實戰――基于Spring Boot+Spring Cloud》一書。
- >
新文學天穹兩巨星--魯迅與胡適/紅燭學術叢書(紅燭學術叢書)
- >
伯納黛特,你要去哪(2021新版)
- >
李白與唐代文化
- >
我與地壇
- >
山海經
- >
羅曼·羅蘭讀書隨筆-精裝
- >
中國歷史的瞬間
- >
二體千字文