注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)網(wǎng)絡(luò)與數(shù)據(jù)通信高性能Java架構(gòu):核心原理與案例實(shí)戰(zhàn)

高性能Java架構(gòu):核心原理與案例實(shí)戰(zhàn)

高性能Java架構(gòu):核心原理與案例實(shí)戰(zhàn)

定 價(jià):¥89.00

作 者: 張方興 著
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787121376221 出版時(shí)間: 2021-08-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 256 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書(shū)是按照程序設(shè)計(jì)與架構(gòu)的順序編寫(xiě)的,共13章。第1章介紹學(xué)習(xí)高性能Java應(yīng)了解的核心知識(shí),為前置內(nèi)容。第2章和第3章講解在編寫(xiě)代碼之前,如何高效地為MySQL填充億級(jí)數(shù)據(jù),并對(duì)MySQL進(jìn)行基準(zhǔn)測(cè)試,以便在之后編程時(shí)有所比較。第4章講解在編寫(xiě)代碼的過(guò)程中如何優(yōu)化代碼,使代碼更高效。第5章和第6章講解在寫(xiě)好代碼之后如何測(cè)試并優(yōu)化場(chǎng)景響應(yīng)速度。第7章和第8章講解在程序上線(xiàn)執(zhí)行一段時(shí)間之后如何對(duì)MySQL進(jìn)行主從復(fù)制、分庫(kù)分表。第9章講解如何通過(guò)Prometheus和Grafana監(jiān)控MySQL節(jié)點(diǎn)。第10章和第11章講解如何通過(guò)堆內(nèi)緩存、堆外緩存(MapDB)和磁盤(pán)緩存解決MySQL數(shù)據(jù)庫(kù)性能不佳的問(wèn)題。第12章講解如何使用分布式鎖Redisson解決實(shí)際應(yīng)用中常見(jiàn)的數(shù)據(jù)一致性問(wèn)題。第13章簡(jiǎn)要介紹Java中的常見(jiàn)架構(gòu)與工具。本書(shū)不僅適合Java初學(xué)者、剛?cè)胄械木幊倘藛T,也適合對(duì)高性能、高并發(fā)感興趣的程序員。

作者簡(jiǎn)介

  張方興,多年從事Java編程工作,參與多個(gè)項(xiàng)目研發(fā),曾編著《微服務(wù)分布式基礎(chǔ)架構(gòu)與實(shí)戰(zhàn)――基于Spring Boot+Spring Cloud》一書(shū)。

圖書(shū)目錄

第1 章 高性能Java 核心知識(shí)概述 1
1.1 高性能 1
1.2 高并發(fā) 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 分離術(shù) 8
1.6 基準(zhǔn)測(cè)試 . 8
1.6.1 基準(zhǔn)測(cè)試的概念 . 8
1.6.2 基準(zhǔn)測(cè)試的實(shí)際用途 . 9
1.6.3 基準(zhǔn)測(cè)試與一般性能測(cè)試的區(qū)別 . 9
1.7 性能測(cè)試 . 9
1.7.1 性能測(cè)試的目的 . 9
1.7.2 性能測(cè)試著重觀察的指標(biāo) . 9
1.7.3 性能測(cè)試存在的誤區(qū) . 10
1.7.4 性能測(cè)試應(yīng)涵蓋的內(nèi)容 . 11
1.8 業(yè)務(wù)測(cè)試 . 12
1.9 單元測(cè)試 . 12
1.9.1 等價(jià)類(lèi)劃分 . 13
1.9.2 邊界值分析 . 14
1.9.3 錯(cuò)誤推測(cè)法 . 15
1.10 數(shù)據(jù)庫(kù)概述 . 15
1.10.1 數(shù)據(jù)庫(kù)分類(lèi) . 16
1.10.2 數(shù)據(jù)庫(kù)測(cè)試的具體內(nèi)容 . 21
1.11 緩存的核心知識(shí) . 22
1.11.1 緩存的命中率 . 23
1.11.2 緩存回收方式 . 23
1.11.3 緩存回收策略 . 23
1.11.4 緩存的設(shè)計(jì)模式 . 23
1.11.5 緩存測(cè)試應(yīng)涵蓋的內(nèi)容 . 24
1.11.6 實(shí)戰(zhàn):秒殺系統(tǒng)設(shè)計(jì)方案 24
1.12 總結(jié)――業(yè)務(wù)、性能、編程、架構(gòu)相輔相成 25
第2 章 為MySQL 填充億級(jí)數(shù)據(jù) 27
2.1 問(wèn)題描述 . 27
2.2 問(wèn)題分析與解決方案 . 27
2.3 為MySQL 填充億級(jí)數(shù)據(jù)實(shí)戰(zhàn) 28
2.3.1 INSERT INTO SELECT 方案 . 28
2.3.2 存儲(chǔ)過(guò)程方案 . 32
2.3.3 Loadfile 方案 . 33
2.3.4 第三方解決方案 . 34
2.4 最終結(jié)果 . 35
第3 章 MySQL 基準(zhǔn)測(cè)試:sysbench 與mysqlslap 36
3.1 問(wèn)題描述 . 36
3.2 問(wèn)題分析與解決方案 . 36
3.2.1 解決方案:sysbench . 37
3.2.2 sysbench 的命令與參數(shù) 38
3.2.3 解決方案:mysqlslap . 40
3.2.4 mysqlslap 的命令與參數(shù) 41
3.3 sysbench 實(shí)戰(zhàn) 42
3.3.1 使用sysbench 壓測(cè)CPU、內(nèi)存和磁盤(pán)I/O 42
3.3.2 初次使用sysbench 壓測(cè)MySQL . 46
3.3.3 深度使用sysbench 壓測(cè)MySQL . 49
3.4 mysqlslap 實(shí)戰(zhàn) 51
3.5 其他基準(zhǔn)壓測(cè)工具 . 56
第4 章 代碼單元的性能測(cè)試與優(yōu)化 57
4.1 問(wèn)題描述 . 57
4.2 問(wèn)題分析與解決方案 . 57
4.3 JMH 實(shí)戰(zhàn) 58
4.3.1 測(cè)試JMH 基準(zhǔn)性能 . 58
4.3.2 測(cè)試i++基準(zhǔn)性能 . 60
4.3.3 用JMH 執(zhí)行多個(gè)函數(shù)的結(jié)果 62
第5 章 Web 性能測(cè)試解決方案:JMeter 67
5.1 問(wèn)題描述 . 67
5.2 問(wèn)題分析與解決方案 . 67
5.3 JMeter 的特點(diǎn) . 68
5.4 深入理解JMeter . 68
5.4.1 JMeter 中的部分配置元件 . 68
5.4.2 JMeter 參數(shù)化的實(shí)現(xiàn)方式 . 69
5.4.3 JMeter 函數(shù) . 70
5.4.4 通過(guò)JMeter 讀取外部文件 72
5.4.5 通過(guò)JMeter 提取上一個(gè)接口返回值 . 73
5.5 JMeter 實(shí)戰(zhàn) . 74
5.5.1 初次使用JMeter 測(cè)試REST 接口 . 74
5.5.2 錄制性能測(cè)試腳本 . 80
第6 章 SQL 優(yōu)化與索引優(yōu)化 83
6.1 問(wèn)題描述 . 83
6.2 問(wèn)題分析與解決方案 . 83
6.3 SQL 執(zhí)行計(jì)劃 . 84
6.4 SQL 優(yōu)化與索引優(yōu)化實(shí)戰(zhàn) . 91
6.4.1 SQL 索引優(yōu)化 . 91
6.4.2 分頁(yè)查詢(xún)優(yōu)化 . 95
6.4.3 慢SQL 日志分析工具mysqldumpslow . 96
第7 章 MySQL 主從復(fù)制 101
7.1 問(wèn)題描述 . 101
7.2 問(wèn)題分析與解決方案 . 101
7.3 MySQL 主從復(fù)制原理 . 101
7.4 深入理解MySQL 中的二進(jìn)制日志. 103
7.4.1 查看MySQL 二進(jìn)制日志狀態(tài) 103
7.4.2 log_bin 和sql_log_bin 的區(qū)別 104
7.4.3 開(kāi)啟二進(jìn)制日志 . 104
7.4.4 查看二進(jìn)制日志文件的名稱(chēng)、大小和狀態(tài) 108
7.4.5 刪除某個(gè)日志之前的所有二進(jìn)制日志文件 109
7.4.6 刪除某個(gè)時(shí)間點(diǎn)以前的二進(jìn)制日志文件 110
7.4.7 刪除所有的二進(jìn)制日志文件 . 111
7.4.8 查看二進(jìn)制日志文件內(nèi)容 . 111
7.4.9 通過(guò)二進(jìn)制日志文件恢復(fù)MySQL . 116
7.5 MySQL 主從復(fù)制實(shí)戰(zhàn) . 117
7.5.1 構(gòu)建MySQL 主從復(fù)制架構(gòu) 117
7.5.2 使用Spring Boot 整合MySQL 主從復(fù)制架構(gòu) . 126
第8 章 MySQL 分庫(kù)分表:MyCAT . 129
8.1 問(wèn)題描述 . 129
8.2 問(wèn)題分析與解決方案 . 129
8.3 MyCAT 實(shí)戰(zhàn) . 130
8.3.1 構(gòu)建MyCAT 一主多從架構(gòu) 130
8.3.2 構(gòu)建MyCAT 雙主多從環(huán)境 140
8.3.3 MyCAT 分庫(kù)――垂直拆分 142
8.3.4 MyCAT 分表――水平拆分 144
8.3.5 構(gòu)建HAProxy + MyCAT + MySQL 高可用架構(gòu) 146
第9 章 MySQL 性能監(jiān)控解決方案:Prometheus+Grafana 152
9.1 問(wèn)題描述 . 152
9.2 問(wèn)題分析與解決方案 . 152
9.3 Prometheus 概述與適用場(chǎng)景 152
9.4 時(shí)序數(shù)據(jù)庫(kù)概述與適用場(chǎng)景 . 153
9.5 Grafana 概述與適用場(chǎng)景 154
9.6 構(gòu)建Prometheus + Grafana 監(jiān)控實(shí)戰(zhàn) 154
第10 章 堆內(nèi)緩存解決方案:Java 堆內(nèi)緩存與Guava Cache 171
10.1 問(wèn)題描述 . 171
10.2 問(wèn)題分析與解決方案 . 171
10.3 Java 堆內(nèi)緩存 . 172
10.3.1 Java 堆內(nèi)緩存原理 . 172
10.3.2 Java 堆內(nèi)緩存中的常見(jiàn)算法及實(shí)戰(zhàn) 173
10.4 Guava Cache 實(shí)戰(zhàn) . 190
10.4.1 創(chuàng)建Google 的容器工廠(chǎng) 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 章 堆外緩存與磁盤(pán)緩存解決方案:MapDB 203
11.1 問(wèn)題描述 . 203
11.2 問(wèn)題分析與解決方案 . 203
11.2.1 堆外緩存 . 203
11.2.2 MapDB 204
11.2.3 實(shí)戰(zhàn):初次使用MapDB 205
11.3 MapDB 的構(gòu)造原理 206
11.4 MapDB 的使用方法 208
11.5 MapDB 實(shí)戰(zhàn) 210
11.5.1 MapDB 的序列化 210
11.5.2 MapDB 的事務(wù) 211
11.5.3 MapDB 的監(jiān)聽(tīng)器與多級(jí)緩存 212
第12 章 基于Redis 的分布式鎖解決方案:Redisson . 214
12.1 分布式鎖與Redisson 原理 . 214
12.2 單機(jī)版超買(mǎi)或超賣(mài)問(wèn)題描述及解決方案 216
12.3 分布式版超買(mǎi)或超賣(mài)問(wèn)題描述及解決方案 218
12.4 多線(xiàn)程死鎖問(wèn)題描述及解決方案 . 219
12.5 Redisson 實(shí)戰(zhàn) 223
12.5.1 Redisson 的可重入鎖 223
12.5.2 Redisson 的公平鎖 223
12.5.3 Redisson 的聯(lián)鎖 225
12.5.4 Redisson 的紅鎖 226
12.5.5 Redisson 的讀寫(xiě)鎖 227
12.5.6 Redisson 的信號(hào)量 229
12.5.7 Redisson 的分布式閉鎖 230
第13 章 Java 中的常見(jiàn)架構(gòu)與工具 . 233
13.1 自動(dòng)化測(cè)試架構(gòu) . 233
13.2 自動(dòng)化持續(xù)集成部署架構(gòu) . 233
13.3 高并發(fā)架構(gòu) . 234
13.4 響應(yīng)式編程架構(gòu) . 236
13.5 負(fù)載均衡架構(gòu) . 238
13.6 監(jiān)控工具與監(jiān)控架構(gòu) . 239
13.7 其他工具與架構(gòu) . 241

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) www.talentonion.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)