注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)計算機組織與體系結(jié)構(gòu)大話Java性能優(yōu)化

大話Java性能優(yōu)化

大話Java性能優(yōu)化

定 價:¥89.00

作 者: 周明耀
出版社: 電子工業(yè)出版社
叢編項:
標(biāo) 簽: Java Java Script J2EE 程序設(shè)計 計算機/網(wǎng)絡(luò)

ISBN: 9787121284816 出版時間: 2016-04-01 包裝: 平塑勒
開本: 頁數(shù): 564 字數(shù):  

內(nèi)容簡介

  本書主要提供Java性能調(diào)優(yōu)方面的參考建議及經(jīng)驗交流。作者力求做到知識的綜合傳播,而不是僅僅只針對Java虛擬機調(diào)優(yōu)進行講解,另外力求每一章節(jié)都有實際的案例支撐。具體包括:性能優(yōu)化策略、程序編寫及硬件服務(wù)器的基礎(chǔ)知識、Java API優(yōu)化建議、算法類程序的優(yōu)化建議、并行計算優(yōu)化建議、Java程序性能監(jiān)控及檢測、JVM原理知識、其他相關(guān)優(yōu)化知識等。通讀本書后,讀者可以深入了解Java性能調(diào)優(yōu)的許多主題及相關(guān)的綜合性知識。讀者也可以把本書作為參考,對于感興趣的主題,直接跳到相應(yīng)章節(jié)尋找答案??偟膩碚f,性能調(diào)優(yōu)在很大程度上是一門藝術(shù),解決的Java性能問題越多,技藝才會越精湛。我們不僅要關(guān)心JVM的持續(xù)演進,也要積極地去了解底層的硬件平臺和操作系統(tǒng)的進步。

作者簡介

  12年投資銀行項目、分布式計算項目工作經(jīng)驗,IBM開發(fā)者論壇專家作者。一名IT技術(shù)狂熱愛好者,一名頑強到底的工程師。我推崇技術(shù)創(chuàng)新、思維創(chuàng)新,對于新技術(shù)非常的熱愛,致力于技術(shù)研發(fā)、研究,通過發(fā)布文章、書籍、互動活動的形式積極推廣軟件技術(shù)。 歡迎添加作者微信“michael_tec”,共同探討IT技術(shù)話題。

圖書目錄

第1章 性能調(diào)優(yōu)策略概述 11.1 為什么需要調(diào)優(yōu) 11.2 性能優(yōu)化的參考因素 51.2.1 傳統(tǒng)計算機體系的分歧 51.2.2 導(dǎo)致系統(tǒng)瓶頸的計算資源 71.2.3 程序性能衡量指標(biāo) 81.2.4 性能優(yōu)化目標(biāo) 91.2.5 性能優(yōu)化策略 101.3 性能調(diào)優(yōu)分類方法 111.3.1 業(yè)務(wù)方面 121.3.2 基礎(chǔ)技術(shù)方面 121.3.3 組件方面 171.3.4 架構(gòu)方面 191.3.5 層次方面 201.4 本章小結(jié) 21第2章 優(yōu)化前的準備知識 222.1 服務(wù)器知識 232.1.1 內(nèi)存 232.1.2 GPU/CPU 442.1.3 硬盤 492.1.4 網(wǎng)絡(luò)架構(gòu) 512.2 新興技術(shù) 53第3章 Java API調(diào)用優(yōu)化建議 543.1 面向?qū)ο蠹盎A(chǔ)類型 553.1.1 采用Clone()方式創(chuàng)建對象 553.1.2 避免對boolean判斷 553.1.3 多用條件操作符 563.1.4 靜態(tài)方法代替實例方法 563.1.5 有條件地使用final關(guān)鍵字 583.1.6 避免不需要的instanceof操作 583.1.7 避免子類中存在父類轉(zhuǎn)換 593.1.8 建議多使用局部變量 603.1.9 運算效率最高的方式——位運算 603.1.10 用一維數(shù)組代替二維數(shù)組 623.1.11 布爾運算代替位運算 643.1.12 提取表達式優(yōu)化 653.1.13 不要總是使用取反操作符(!) 663.1.14 不要重復(fù)初始化變量 663.1.15 變量初始化過程思考 663.1.16 對象的創(chuàng)建、訪問過程 693.1.17 在switch語句中使用字符串 703.1.18 數(shù)值字面量的改進 733.1.19 優(yōu)化變長參數(shù)的方法調(diào)用 743.1.20 針對基本數(shù)據(jù)類型的優(yōu)化 753.1.21 空變量 763.2 集合類概念 773.2.1 快速刪除List里面的數(shù)據(jù) 783.2.2 集合內(nèi)部避免返回null 803.2.3 ArrayList、LinkedList比較 823.2.4 Vector、HashTable比較 853.2.5 HashMap使用經(jīng)驗 873.2.6 EnumSet、EnumMap 913.2.7 HashSet使用經(jīng)驗 923.2.8 LinkedHashMap、TreeMap比較 963.2.9 集合處理優(yōu)化新方案 993.2.10 優(yōu)先考慮并行計算 1073.3 字符串概念 1083.3.1 String對象 1083.3.2 善用String對象的SubString方法 1113.3.3 用charat()代替startswith() 1133.3.4 在字符串相加的時候,使用' '代替" " 1143.3.5 字符串切割 1143.3.6 字符串重編碼 1173.3.7 合并字符串 1183.3.8 正則表達式不是萬能的 1223.4 引用類型概念 1233.4.1 強引用(Strong Reference) 1263.4.2 軟引用(Soft Reference) 1313.4.3 弱引用(Weak Reference) 1353.4.4 引用隊列 1413.4.5 虛引用(Phantom Reference) 1423.5 其他相關(guān)概念 1463.5.1 JNI技術(shù)提升 1463.5.2 異常捕獲機制 1503.5.3 ExceptionUtils類 1543.5.4 循環(huán)技巧 1553.5.5 替換switch 1573.5.6 優(yōu)化循環(huán) 1583.5.7 使用arrayCopy() 1593.5.8 使用Buffer進行I/O操作 1613.5.9 使用clone()代替new 1643.5.10 I/O速度 1663.5.11 Finally方法里面釋放或者關(guān)閉資源占用 1673.5.12 資源管理機制 1673.5.13 犧牲CPU時間 1693.5.14 對象操作 1723.5.15 正則表達式 1723.5.16 壓縮文件處理 1743.6 本章小結(jié) 175第4章 程序設(shè)計優(yōu)化建議 1764.1 算法優(yōu)化概述 1764.1.1 常用算法邏輯描述 1774.1.2 多核算法優(yōu)化原理 1864.1.3 Java算法優(yōu)化實踐 1884.2 設(shè)計模式 1964.2.1 設(shè)計模式的六大準則 1964.2.2 單一對象控制 2004.2.3 并行程序設(shè)計模式 2024.2.4 接口適配 2054.2.5 訪問方式隔離 2194.3 I/O及網(wǎng)絡(luò)相關(guān)優(yōu)化 2254.3.1 I/O操作優(yōu)化 2254.3.2 Socket編程 2314.3.3 NIO 2.0文件系統(tǒng) 2354.4 數(shù)據(jù)應(yīng)用優(yōu)化 2364.4.1 關(guān)系型數(shù)據(jù)庫優(yōu)化 2364.4.2 向HBase插入大量數(shù)據(jù) 2404.4.3 解決海量數(shù)據(jù)緩存 2514.5 其他優(yōu)化 2564.5.1 Web系統(tǒng)性能優(yōu)化建議 2564.5.2 死鎖情況解決方案 2594.5.3 JavaBeans組件 2684.6 本章小結(jié) 269第5章 Java并行程序優(yōu)化建議 2705.1 并行程序優(yōu)化概述 2705.1.1 資源限制帶來的挑戰(zhàn) 2715.1.2 進程、線程、協(xié)程 2725.1.3 使用多線程的原因 2815.1.4 線程不安全范例 2825.1.5 重排序機制 2845.1.6 實例變量的數(shù)據(jù)共享 2865.1.7 生產(chǎn)者與消費者模式 2885.1.8 線程池的使用 2905.2 鎖機制對比 2965.2.1 鎖機制概述 2965.2.2 Synchronized使用技巧 2985.2.3 Volatile的使用技巧 3035.2.4 隊列同步器 3045.2.5 可重入鎖 3075.2.6 讀寫鎖 3085.2.7 偏向鎖和輕量級鎖 3095.3 增加程序并行性 3105.3.1 并發(fā)計數(shù)器 3115.3.2 減少上下文切換次數(shù) 3125.3.3 針對Thread類的更新 3145.3.4 Fork/Join框架 3145.3.5 Executor框架 3185.4 JDK類庫使用 3195.4.1 原子值 3205.4.2 并行容器 3245.4.3 非阻塞隊列 3325.4.4 阻塞隊列 3385.4.5 并發(fā)工具類 3655.5 本章小結(jié) 376第6章 JVM性能測試及監(jiān)控 3776.1 監(jiān)控計算機設(shè)備層 3786.1.1 監(jiān)控CPU 3806.1.2 監(jiān)控內(nèi)存 4056.1.3 監(jiān)控磁盤 4176.1.4 監(jiān)控網(wǎng)絡(luò) 4236.2 監(jiān)控JVM活動 4286.2.1 監(jiān)控垃圾收集目的 4296.2.2 GC垃圾回收報告分析 4306.2.3 圖形化工具 4316.2.4 GC跟蹤示例 4376.3 本章小結(jié) 438第7章 JVM性能調(diào)優(yōu)建議 4397.1 JVM相關(guān)概念 4397.1.1 內(nèi)存使用相關(guān)概念 4407.1.2 字節(jié)碼相關(guān)知識 4437.1.3 自動內(nèi)存管理 4487.2 JVM系統(tǒng)架構(gòu) 4517.2.1 JVM的基本架構(gòu) 4517.2.2 JVM初始化過程 4537.2.3 JVM架構(gòu)模型與執(zhí)行引擎 4567.2.4 解釋器與JIT編譯器 4567.2.5 類加載機制 4577.2.6 虛擬機 4587.3 垃圾回收機制相關(guān) 4597.3.1 GC相關(guān)概念 4597.3.2 垃圾回收算法 4687.3.3 垃圾收集器 4767.4 實用JVM實驗 4907.4.1 將新對象預(yù)留在年輕代 4907.4.2 大對象進入年老代 4947.4.3 設(shè)置對象進入年老代的年齡 4957.4.4 穩(wěn)定與震蕩的堆大小 4977.4.5 吞吐量優(yōu)先案例 4987.4.6 使用大頁案例 4997.4.7 降低停頓案例 4997.4.8 設(shè)置最大堆內(nèi)存 4997.4.9 設(shè)置最小堆內(nèi)存 5007.4.10 設(shè)置年輕代 5037.4.11 設(shè)置持久代 5047.4.12 設(shè)置線程棧 5047.4.13 堆的比例分配 5057.4.14 堆分配參數(shù)總結(jié) 5087.4.15 垃圾回收器相關(guān)參數(shù)總結(jié) 5097.4.16 查詢GC命令 5157.5 本章小結(jié) 515第8章 其他優(yōu)化建議 5168.1 Java現(xiàn)有機制及未來發(fā)展 5168.1.1 Java體系結(jié)構(gòu)變化歷史 5168.1.2 Java語言面臨的挑戰(zhàn) 5208.1.3 Java 8的新特性 5228.1.4 Java語言前景 5238.1.5 物聯(lián)網(wǎng):Java和你是一對 5248.1.6 Java模塊化發(fā)展 5258.1.7 OpenJDK的發(fā)展 5278.2 系統(tǒng)架構(gòu)優(yōu)化建議 5288.2.1 系統(tǒng)架構(gòu)調(diào)優(yōu) 5288.2.2 Java項目優(yōu)化方式分享 5308.2.3 面向服務(wù)架構(gòu) 5348.2.4 程序隔離技術(shù) 5388.2.5 團隊并行開發(fā)準則 5448.3 與編程無關(guān) 5468.3.1 工程師品格 5468.3.2 如何成為技術(shù)大牛 5478.3.3 編程方法分享 5488.4 本章小結(jié) 549

本目錄推薦

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