- 軟件大?。?span>5.50M
- 軟件語言:中文
- 軟件類型:國產(chǎn)軟件
- 軟件類別:免費(fèi)軟件 / 電子圖書
- 更新時(shí)間:2017-07-31 14:32
- 運(yùn)行環(huán)境:WinAll, WinXP, Win7, Win8, Win10
- 軟件等級(jí):
- 軟件廠商:
- 官方網(wǎng)站:暫無
76.96M/中文/1.3
40.67M/中文/5.0
40.67M/中文/3.3
24.41M/中文/5.0
33.15M/中文/10.0
大話java性能優(yōu)化pdf中文電子版是一個(gè)免費(fèi)的java性能調(diào)優(yōu)教程文檔。全書為大家介紹了java性能優(yōu)化的基礎(chǔ)知識(shí),通過列舉海量實(shí)例,讓初學(xué)者更能夠快速了解消化java性能優(yōu)化方面的重要知識(shí)點(diǎn)信息。如果你需要這款電子圖書,就來綠色資源網(wǎng)免費(fèi)下載吧。
《大話Java性能優(yōu)化》主要提供Java性能調(diào)優(yōu)方面的參考建議及經(jīng)驗(yàn)交流。作者力求做到知識(shí)的綜合傳播,而不是僅僅只針對(duì)Java虛擬機(jī)調(diào)優(yōu)進(jìn)行講解,另外力求每一章節(jié)都有實(shí)際的案例支撐。具體包括:性能優(yōu)化策略、程序編寫及硬件服務(wù)器的基礎(chǔ)知識(shí)、Java API優(yōu)化建議、算法類程序的優(yōu)化建議、并行計(jì)算優(yōu)化建議、Java程序性能監(jiān)控及檢測(cè)、JVM原理知識(shí)、其他相關(guān)優(yōu)化知識(shí)等。
通讀《大話Java性能優(yōu)化》后,讀者可以深入了解Java性能調(diào)優(yōu)的許多主題及相關(guān)的綜合性知識(shí)。讀者也可以把《大話Java性能優(yōu)化》作為參考,對(duì)于感興趣的主題,直接跳到相應(yīng)章節(jié)尋找答案。
總的來說,性能調(diào)優(yōu)在很大程度上是一門藝術(shù),解決的Java性能問題越多,技藝才會(huì)越精湛。我們不僅要關(guān)心JVM的持續(xù)演進(jìn),也要積極地去了解底層的硬件平臺(tái)和操作系統(tǒng)的進(jìn)步。
1、語言通俗易懂,引人入勝
2、系統(tǒng)介紹系統(tǒng)調(diào)優(yōu)的解決思路和技術(shù)實(shí)現(xiàn)
3、結(jié)合大家最為熟知的12306、電商等案例
4、涉及內(nèi)存、IO等各種問題,提供豐富的經(jīng)驗(yàn)參考
5、架構(gòu)、設(shè)計(jì)、開發(fā)、算法等多層次多角度思路和策略
第1章 性能調(diào)優(yōu)策略概述 1
1.1 為什么需要調(diào)優(yōu) 1
1.2 性能優(yōu)化的參考因素 5
1.2.1 傳統(tǒng)計(jì)算機(jī)體系的分歧 5
1.2.2 導(dǎo)致系統(tǒng)瓶頸的計(jì)算資源 7
1.2.3 程序性能衡量指標(biāo) 8
1.2.4 性能優(yōu)化目標(biāo) 9
1.2.5 性能優(yōu)化策略 10
1.3 性能調(diào)優(yōu)分類方法 11
1.3.1 業(yè)務(wù)方面 12
1.3.2 基礎(chǔ)技術(shù)方面 12
1.3.3 組件方面 17
1.3.4 架構(gòu)方面 19
1.3.5 層次方面 20
1.4 本章小結(jié) 21
第2章 優(yōu)化前的準(zhǔn)備知識(shí) 22
2.1 服務(wù)器知識(shí) 23
2.1.1 內(nèi)存 23
2.1.2 GPU/CPU 44
2.1.3 硬盤 49
2.1.4 網(wǎng)絡(luò)架構(gòu) 51
2.2 新興技術(shù) 53
第3章 Java API調(diào)用優(yōu)化建議 54
3.1 面向?qū)ο蠹盎A(chǔ)類型 55
3.1.1 采用Clone()方式創(chuàng)建對(duì)象 55
3.1.2 避免對(duì)boolean判斷 55
3.1.3 多用條件操作符 56
3.1.4 靜態(tài)方法代替實(shí)例方法 56
3.1.5 有條件地使用final關(guān)鍵字 58
3.1.6 避免不需要的instanceof操作 58
3.1.7 避免子類中存在父類轉(zhuǎn)換 59
3.1.8 建議多使用局部變量 60
3.1.9 運(yùn)算效率最高的方式——位運(yùn)算 60
3.1.10 用一維數(shù)組代替二維數(shù)組 62
3.1.11 布爾運(yùn)算代替位運(yùn)算 64
3.1.12 提取表達(dá)式優(yōu)化 65
3.1.13 不要總是使用取反操作符(?。?66
3.1.14 不要重復(fù)初始化變量 66
3.1.15 變量初始化過程思考 66
3.1.16 對(duì)象的創(chuàng)建、訪問過程 69
3.1.17 在switch語句中使用字符串 70
3.1.18 數(shù)值字面量的改進(jìn) 73
3.1.19 優(yōu)化變長參數(shù)的方法調(diào)用 74
3.1.20 針對(duì)基本數(shù)據(jù)類型的優(yōu)化 75
3.1.21 空變量 76
3.2 集合類概念 77
3.2.1 快速刪除List里面的數(shù)據(jù) 78
3.2.2 集合內(nèi)部避免返回null 80
3.2.3 ArrayList、LinkedList比較 82
3.2.4 Vector、HashTable比較 85
3.2.5 HashMap使用經(jīng)驗(yàn) 87
3.2.6 EnumSet、EnumMap 91
3.2.7 HashSet使用經(jīng)驗(yàn) 92
3.2.8 LinkedHashMap、TreeMap比較 96
3.2.9 集合處理優(yōu)化新方案 99
3.2.10 優(yōu)先考慮并行計(jì)算 107
3.3 字符串概念 108
3.3.1 String對(duì)象 108
3.3.2 善用String對(duì)象的SubString方法 111
3.3.3 用charat()代替startswith() 113
3.3.4 在字符串相加的時(shí)候,使用' '代替" " 114
3.3.5 字符串切割 114
3.3.6 字符串重編碼 117
3.3.7 合并字符串 118
3.3.8 正則表達(dá)式不是萬能的 122
3.4 引用類型概念 123
3.4.1 強(qiáng)引用(Strong Reference) 126
3.4.2 軟引用(Soft Reference) 131
3.4.3 弱引用(Weak Reference) 135
3.4.4 引用隊(duì)列 141
3.4.5 虛引用(Phantom Reference) 142
3.5 其他相關(guān)概念 146
3.5.1 JNI技術(shù)提升 146
3.5.2 異常捕獲機(jī)制 150
3.5.3 ExceptionUtils類 154
3.5.4 循環(huán)技巧 155
3.5.5 替換switch 157
3.5.6 優(yōu)化循環(huán) 158
3.5.7 使用arrayCopy() 159
3.5.8 使用Buffer進(jìn)行I/O操作 161
3.5.9 使用clone()代替new 164
3.5.10 I/O速度 166
3.5.11 Finally方法里面釋放或者關(guān)閉資源占用 167
3.5.12 資源管理機(jī)制 167
3.5.13 犧牲CPU時(shí)間 169
3.5.14 對(duì)象操作 172
3.5.15 正則表達(dá)式 172
3.5.16 壓縮文件處理 174
3.6 本章小結(jié) 175
第4章 程序設(shè)計(jì)優(yōu)化建議 176
4.1 算法優(yōu)化概述 176
4.1.1 常用算法邏輯描述 177
4.1.2 多核算法優(yōu)化原理 186
4.1.3 Java算法優(yōu)化實(shí)踐 188
4.2 設(shè)計(jì)模式 196
4.2.1 設(shè)計(jì)模式的六大準(zhǔn)則 196
4.2.2 單一對(duì)象控制 200
4.2.3 并行程序設(shè)計(jì)模式 202
4.2.4 接口適配 205
4.2.5 訪問方式隔離 219
4.3 I/O及網(wǎng)絡(luò)相關(guān)優(yōu)化 225
4.3.1 I/O操作優(yōu)化 225
4.3.2 Socket編程 231
4.3.3 NIO2.0文件系統(tǒng) 235
4.4 數(shù)據(jù)應(yīng)用優(yōu)化 236
4.4.1 關(guān)系型數(shù)據(jù)庫優(yōu)化 236
4.4.2 向HBase插入大量數(shù)據(jù) 240
4.4.3 解決海量數(shù)據(jù)緩存 251
4.5 其他優(yōu)化 256
4.5.1 Web系統(tǒng)性能優(yōu)化建議 256
4.5.2 死鎖情況解決方案 259
4.5.3 JavaBeans組件 268
4.6 本章小結(jié) 269
第5章 Java并行程序優(yōu)化建議 270
5.1 并行程序優(yōu)化概述 270
5.1.1 資源限制帶來的挑戰(zhàn) 271
5.1.2 進(jìn)程、線程、協(xié)程 272
5.1.3 使用多線程的原因 281
5.1.4 線程不安全范例 282
5.1.5 重排序機(jī)制 284
5.1.6 實(shí)例變量的數(shù)據(jù)共享 286
5.1.7 生產(chǎn)者與消費(fèi)者模式 288
5.1.8 線程池的使用 290
5.2 鎖機(jī)制對(duì)比 296
5.2.1 鎖機(jī)制概述 296
5.2.2 Synchronized使用技巧 298
5.2.3 Volatile的使用技巧 303
5.2.4 隊(duì)列同步器 304
5.2.5 可重入鎖 307
5.2.6 讀寫鎖 308
5.2.7 偏向鎖和輕量級(jí)鎖 309
5.3 增加程序并行性 310
5.3.1 并發(fā)計(jì)數(shù)器 311
5.3.2 減少上下文切換次數(shù) 312
5.3.3 針對(duì)Thread類的更新 314
5.3.4 Fork/Join框架 314
5.3.5 Executor框架 318
5.4 jdk類庫使用 319
5.4.1 原子值 320
5.4.2 并行容器 324
5.4.3 非阻塞隊(duì)列 332
5.4.4 阻塞隊(duì)列 338
5.4.5 并發(fā)工具類 365
5.5 本章小結(jié) 376
第6章 JVM性能測(cè)試及監(jiān)控 377
6.1 監(jiān)控計(jì)算機(jī)設(shè)備層 378
6.1.1 監(jiān)控CPU 380
6.1.2 監(jiān)控內(nèi)存 405
6.1.3 監(jiān)控磁盤 417
6.1.4 監(jiān)控網(wǎng)絡(luò) 423
6.2 監(jiān)控JVM活動(dòng) 428
6.2.1 監(jiān)控垃圾收集目的 429
6.2.2 GC垃圾回收?qǐng)?bào)告分析 430
6.2.3 圖形化工具 431
6.2.4 GC跟蹤示例 437
6.3 本章小結(jié) 438
第7章 JVM性能調(diào)優(yōu)建議 439
7.1 JVM相關(guān)概念 439
7.1.1 內(nèi)存使用相關(guān)概念 440
7.1.2 字節(jié)碼相關(guān)知識(shí) 443
7.1.3 自動(dòng)內(nèi)存管理 448
7.2 JVM系統(tǒng)架構(gòu) 451
7.2.1 JVM的基本架構(gòu) 451
7.2.2 JVM初始化過程 453
7.2.3 JVM架構(gòu)模型與執(zhí)行引擎 456
7.2.4 解釋器與JIT編譯器 456
7.2.5 類加載機(jī)制 457
7.2.6 虛擬機(jī) 458
7.3 垃圾回收機(jī)制相關(guān) 459
7.3.1 GC相關(guān)概念 459
7.3.2 垃圾回收算法 468
7.3.3 垃圾收集器 476
7.4 實(shí)用JVM實(shí)驗(yàn) 490
7.4.1 將新對(duì)象預(yù)留在年輕代 490
7.4.2 大對(duì)象進(jìn)入年老代 494
7.4.3 設(shè)置對(duì)象進(jìn)入年老代的年齡 495
7.4.4 穩(wěn)定與震蕩的堆大小 497
7.4.5 吞吐量優(yōu)先案例 498
7.4.6 使用大頁案例 499
7.4.7 降低停頓案例 499
7.4.8 設(shè)置最大堆內(nèi)存 499
7.4.9 設(shè)置最小堆內(nèi)存 500
7.4.10 設(shè)置年輕代 503
7.4.11 設(shè)置持久代 504
7.4.12 設(shè)置線程棧 504
7.4.13 堆的比例分配 505
7.4.14 堆分配參數(shù)總結(jié) 508
7.4.15 垃圾回收器相關(guān)參數(shù)總結(jié) 509
7.4.16 查詢GC命令 515
7.5 本章小結(jié) 515
第8章 其他優(yōu)化建議 516
8.1 Java現(xiàn)有機(jī)制及未來發(fā)展 516
8.1.1 Java體系結(jié)構(gòu)變化歷史 516
8.1.2 Java語言面臨的挑戰(zhàn) 520
8.1.3 Java8的新特性 522
8.1.4 Java語言前景 523
8.1.5 物聯(lián)網(wǎng):Java和你是一對(duì) 524
8.1.6 Java模塊化發(fā)展 525
8.1.7 OpenJDK的發(fā)展 527
8.2 系統(tǒng)架構(gòu)優(yōu)化建議 528
8.2.1 系統(tǒng)架構(gòu)調(diào)優(yōu) 528
8.2.2 Java項(xiàng)目優(yōu)化方式分享 530
8.2.3 面向服務(wù)架構(gòu) 534
8.2.4 程序隔離技術(shù) 538
8.2.5 團(tuán)隊(duì)并行開發(fā)準(zhǔn)則 544
8.3 與編程無關(guān) 546
8.3.1 工程師品格 546
8.3.2 如何成為技術(shù)大牛 547
8.3.3 編程方法分享 548
8.4 本章小結(jié)
請(qǐng)描述您所遇到的錯(cuò)誤,我們將盡快予以修正,謝謝!
*必填項(xiàng),請(qǐng)輸入內(nèi)容