Java程序性能優化

Java程序性能優化 pdf epub mobi txt 電子書 下載2025

出版者:清華大學齣版社
作者:葛一鳴
出品人:
頁數:416
译者:
出版時間:2012-9-1
價格:59.00元
裝幀:平裝
isbn號碼:9787302296256
叢書系列:
圖書標籤:
  • Java
  • 性能優化
  • 性能
  • java
  • 編程
  • 計算機
  • 程序設計
  • 優化
  • Java
  • 性能
  • 優化
  • 編程
  • 效率
  • 算法
  • 內存
  • 並發
  • 調優
  • 實戰
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

Java是目前應用最為廣泛的軟件開發平颱,學習針對Java程序的優化方法有重要的現實意義。《Java程序性能優化:讓你的Java程序更快、更穩定》以Java性能調優為主綫,係統地闡述瞭與Java性能優化相關的知識與技巧。

《Java程序性能優化:讓你的Java程序更快、更穩定》共6章,先後從軟件設計、軟件編碼、JVM調優以及程序故障排斥等方麵介紹針對Java程序的優化方法。第1章介紹性能的基本概念、定律、係統調優的過程和注意事項。第2章從設計層麵介紹與性能相關的設計模式、組件。第3章從代碼層麵介紹如何編寫高性能的Java程序。第4章介紹瞭並行開發和如何通過多綫程提高係統性能。第5章立足於JVM虛擬機層麵,介紹如何通過設置閤理的JVM參數提升Java程序的性能。第6章為工具篇,介紹瞭獲取和監控程序或係統性能指標的各種工具,包括相關的故障排查工具。

本書適閤所有Java程序員、軟件設計師、架構師以及軟件開發愛好者,對於有一定經驗的Java工程師,本書更能幫助他突破技術瓶頸,深入Java內核開發!

著者簡介

葛一鳴,畢業於浙江工業大學,獲得瞭計算機軟件與理論專業碩士學位。取得瞭國傢認證係統分析師職稱、OCP(Oracle數據庫認證專傢)。現就職於UT斯達康通訊有限公司,從事Java軟件開發。有多年的軟件開發經驗,參與開發過多個軟件項目。熟悉Java、PHP、MySQL、Oracle等開發語言和數據庫,對Java軟件開發、性能優化、分布式軟件有著濃厚的興趣和深入的研究。在校期間曾經發錶過多篇技術論文。

圖書目錄

第1章 Java性能調優概述
1.1 性能概述
1.1.1 看懂程序的性能
1.1.2 性能的參考指標
1.1.3 木桶原理與性能瓶頸
1.1.4 Amdahl定律
1.2 性能調優的層次
1.2.1 設計調優
1.2.2 代碼調優
1.2.3 JVM調優
1.2.4 數據庫調優
1.2.5 操作係統調優
1.3 基本調優策略和手段
1.3.1 優化的一般步驟
1.3.2 係統優化注意事項
1.4 小結
第2章 設計優化
2.1 善用設計模式
2.1.1 單例模式
2.1.2 代理模式
2.1.3 享元模式
2.1.4 裝飾者模式
2.1.5 觀察者模式
2.1.6 Value Object模式
2.1.7 業務代理模式
2.2 常用優化組件和方法
2.2.1 緩衝(Buffer)
2.2.2 緩存(Cache)
2.2.3 對象復用——“池”
2.2.4 並行替代串行
2.2.5 負載均衡
2.2.6 時間換空間
2.2.7 空間換時間
2.3 小結
第3章 Java程序優化
3.1 字符串優化處理
3.1.1 String對象及其特點
3.1.2 subString()方法的內存泄漏
3.1.3 字符串分割和查找
3.1.4 StringBuffer和StringBuilder
3.2 核心數據結構
3.2.1 List接口
3.2.2 Map接口
3.2.3 Set接口
3.2.4 優化集閤訪問代碼
3.2.5 RandomAccess接口
3.3 使用NIO提升性能
3.3.1 NIO的Buffer類族和Channel
3.3.2 Buffer的基本原理
3.3.3 Buffer的相關操作
3.3.4 MappedByteBuffer性能評估
3.3.5 直接內存訪問
3.4 引用類型
3.4.1 強引用
3.4.2 軟引用
3.4.3 弱引用
3.4.4 虛引用
3.4.5 WeakHashMap類及其實現
3.5 有助於改善性能的技巧
3.5.1 慎用異常
3.5.2 使用局部變量
3.5.3 位運算代替乘除法
3.5.4 替換switch
3.5.5 一維數組代替二維數組
3.5.6 提取錶達式
3.5.7 展開循環
3.5.8 布爾運算代替位運算
3.5.9 使用arrayCopy ()
3.5.10 使用Buffer進行I/O操作
3.5.11 使用clone()代替new
3.5.12 靜態方法替代實例方法
3.6 小結
第4章 並行程序開發及優化
4.1 並行程序設計模式
4.1.1 Future模式
4.1.2 Master-Worker模式
4.1.3 Guarded Suspension模式
4.1.4 不變模式
4.1.5 生産者-消費者模式
4.2 JDK多任務執行框架
4.2.1 無限製綫程的缺陷
4.2.2 簡單的綫程池實現
4.2.3 Executor框架
4.2.4 自定義綫程池
4.2.5 優化綫程池大小
4.2.6 擴展ThreadPoolExecutor
4.3 JDK並發數據結構
4.3.1 並發List
4.3.2 並發Set
4.3.3 並發Map
4.3.4 並發Queue
4.3.5 並發Deque
4.4 並發控製方法
4.4.1 Java內存模型與volatile
4.4.2 同步關鍵字synchronized
4.4.3 ReentrantLock重入鎖
4.4.4 ReadWriteLock讀寫鎖
4.4.5 Condition對象
4.4.6 Semaphore信號量
4.4.7 ThreadLocal綫程局部變量
4.5 “鎖”的性能和優化
4.5.1 綫程的開銷
4.5.2 避免死鎖
4.5.3 減小鎖持有時間
4.5.4 減小鎖粒度
4.5.5 讀寫分離鎖來替換獨占鎖
4.5.6 鎖分離
4.5.7 重入鎖ReentrantLock和內部鎖synchronized
4.5.8 鎖粗化(Lock Coarsening)
4.5.9 自鏇鎖(Spinning Lock)
4.5.10 鎖消除(Lock Elimination)
4.5.11 鎖偏嚮(Biased Lock)
4.6 無鎖的並行計算
4.6.1 非阻塞的同步/無鎖
4.6.2 原子操作
4.6.3 Amino框架介紹
4.6.4 Amino集閤
4.6.5 Amino樹
4.6.6 Amino圖
4.6.7 Amino簡單調度模式
4.7 協程
4.7.1 協程的概念
4.7.2 Kilim框架簡介
4.7.3 Task及其狀態
4.7.4 Fiber及其狀態
4.7.5 Kilim開發環境配置
4.7.6 Kilim之Hello World
4.7.7 多任務通信
4.7.8 Kilim實例及性能評估
4.8 小結
第5章 JVM調優
5.1 Java虛擬機內存模型
5.1.1 程序計數器
5.1.2 Java虛擬機棧
5.1.3 本地方法棧
5.1.4 Java堆
5.1.5 方法區
5.2 JVM內存分配參數
5.2.1 設置最大堆內存
5.2.2 設置最小堆內存
5.2.3 設置新生代
5.2.4 設置持久代
5.2.5 設置綫程桟
5.2.6 堆的比例分配
5.2.7 堆分配參數總結
5.3 垃圾收集基礎
5.3.1 垃圾收集的作用
5.3.2 垃圾迴收算法與思想
5.3.3 垃圾收集器的類型
5.3.4 評價GC策略的指標
5.3.5 新生代串行收集器
5.3.6 老年代串行收集器
5.3.7 並行收集器
5.3.8 新生代並行迴收(Parallel Scavenge)收集器
5.3.9 老年代並行迴收收集器
5.3.10 CMS收集器
5.3.11 G1收集器(Garbage First)
5.3.12 Stop the World案例
5.3.13 收集器對係統性能的影響
5.3.14 GC相關參數總結
5.4 常用調優案例和方法
5.4.1 將新對象預留在新生代
5.4.2 大對象進入老年代
5.4.3 設置對象進入老年代的年齡
5.4.4 穩定與震蕩的堆大小
5.4.5 吞吐量優先案例
5.4.6 使用大頁案例
5.4.7 降低停頓案例
5.5 實用JVM參數
5.5.1 JIT編譯參數
5.5.2 堆快照(堆Dump)
5.5.3 錯誤處理
5.5.4 取得GC信息
5.5.5 類和對象跟蹤
5.5.6 控製GC
5.5.7 選擇類校驗器
5.5.8 Solaris下綫程控製
5.5.9 使用大頁
5.5.10 壓縮指針
5.6 實戰JVM調優
5.6.1 Tomcat簡介與啓動加速
5.6.2 Web應用程序介紹
5.6.3 JMeter介紹與使用
5.6.4 調優前Web應用運行狀況
5.6.5 調優過程
5.7 總結
第6章 Java性能調優工具
6.1 Linux命令行工具
6.1.1 top命令
6.1.2 sar命令
6.1.3 vmstat命令
6.1.4 iostat命令
6.1.5 pidstat工具
6.2 Windows工具
6.2.1 任務管理器
6.2.2 perfmon性能監控工具
6.2.3 Process Explorer
6.2.4 pslist命令行
6.3 JDK命令行工具
6.3.1 jps命令
6.3.2 jstat命令
6.3.3 jinfo命令
6.3.4 jmap命令
6.3.5 jhat命令
6.3.6 jstack命令
6.3.7 jstatd命令
6.3.8 hprof工具
6.4 JConsole工具
6.4.1 JConsole連接Java程序
6.4.2 Java程序概況
6.4.3 內存監控
6.4.4 綫程監控
6.4.5 類加載情況
6.4.6 虛擬機信息
6.4.7 MBean管理
6.4.8 使用插件
6.5 Visual VM多閤一工具
6.5.1 Visual VM連接應用程序
6.5.2 監控應用程序概況
6.5.3 Thread Dump和分析
6.5.4 性能分析
6.5.5 快照
6.5.6 內存快照分析
6.5.7 MBean管理
6.5.8 TDA使用
6.5.9 BTrace介紹
6.6 Visual VM對OQL的支持
6.6.1 Visual VM的OQL基本語法
6.6.2 內置heap對象
6.6.3 對象函數
6.6.4 集閤/統計函數
6.6.5 程序化OQL
6.7 MAT內存分析工具
6.7.1 初識MAT
6.7.2 淺堆和深堆
6.7.3 支配樹(Dominator Tree)
6.7.4 垃圾迴收根
6.7.5 內存泄露檢測
6.7.6 最大對象報告
6.7.7 查找支配者
6.7.8 綫程分析
6.7.9 集閤使用情況分析
6.7.10 擴展MAT
6.8 MAT對OQL的支持
6.8.1 Select子句
6.8.2 From子句
6.8.3 Where子句
6.8.4 內置對象與方法
6.9 JProfile簡介
6.9.1 JProfile使用配置
6.9.2 內存視圖
6.9.3 堆快照
6.9.4 CPU視圖
6.9.5 綫程視圖
6.9.6 JVM統計信息
6.9.7 觸發器
6.10 小結
· · · · · · (收起)

讀後感

評分

通过第4章可以加强并行编程的基础,常用的并行编程方法和关注的点。线程框架、jdk线程安全的数据结构、各种锁等。 通过第5章可以加强Java虚拟机的基础。Java内存模型,JVM参数、常见的调优手段等。 其他章节没有这两章的内容系统,仔细看再加上必要的实践也可以提升视野。比如...  

評分

相比于被高司令号称java圣经的《java性能优化权威指南》,本书作为入门是比较合适的 比较接地气一点儿,对于一个不是太熟悉JVM的同学,也能很好理解 当然如果要是像深入研究一下性能问题,我还是比较推荐《java性能优化权威指南》的  

評分

在刚开始用Java时,看了这本《Java程序性能优化》,感觉受益匪浅,但却感触有限,随着时间的推移,重读此书,愈发感觉深邃。 此书由设计模式入手,多个单例模式的设计与实现让人眼前一亮,明白了多种实现方式的优缺点。之后沿着程序优化、多线程并发优化和JVM调优逐章深入,最...  

評分

首先就Java的方方面面讲得比较全,但是不乱。每个点都讲得比较清楚,读下来没有什么盲点。干货比较多。国内少有的能写得这么好的。推荐阅读。感觉作者写书的时候不是摘抄。我看了收获很多。也会推荐给朋友们都读一下。

評分

这本书,17年5月份的时候买的,然后中间曲曲折折一直很忙。搞到18年才开始看的,目前看到第5章,总体来说,看这本书的时候会对之前的经验有个归结,以前总是感觉似懂非懂的东西看了这部书感觉心中有了点感觉,我觉得这本书的精华在3,4,5这三章,打算5月底的时候把这本书看完。总...  

用戶評價

评分

一些細節想吐槽,但國內能寫齣這樣的書已經很屌瞭。

评分

幾個方麵講的不錯

评分

還可以,書192頁的代碼會産生死鎖

评分

十分實用的性能優化技巧,迴過頭來看,越看越好看

评分

都是一些基礎的詳細點,還有JVM和內存監測的介紹。

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有