扫描右侧图片或微信搜索 “ Java技术分享屋 ” ,回复 “ 验证码 ” ,获取验证密码。
本资料仅供读者预览及学习交流使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版!
一.资料截图
二.资料介绍
《Java性能调优指南》主要展示了如何在当今先进的多核硬件和复杂的操作系统环境下,系统且主动地提高Java性能。本书对Charlie Hunt 和Binu John的经典图书《Java Performance》进行延伸,提供了两个前所未有的、强大的Java平台创新细节:Garbage First(G1)垃圾收集器和HotSpot虚拟机服务代理。
阅读《Java性能调优指南》,你就可以在任何情况下从JDK8或9中发挥Java的最大性能。
三.作者简介
Charlie Hunt(芝加哥,伊利诺伊州)目前是一名在Oracle主导各种Java SE和HotSpot VM项目的JVM工程师,他的首要关注点在维持吞吐量和延迟的同时减少内存占用量。他也是JavaTM Performance 一书的第一作者。他是JavaOne大会的常任主持,并被公认为是Java超级明星。他同样是很多会议的发言人,包括QCon、Velocity、GoTo和Dreamforce。Charlie之前为Oracle主导过各种Java SE和HotSpot VM项目,经历过多个不同性能的岗位,包括在Salesforce.com担任性能工程架构师,以及在Oracle和Sun Microsystems担任HotSpot VM性能架构师。他在1998年写下了他的第一个Java应用程序,在1999年作为Java高级架构师加入Sun Microsystems,从那以后一直对Java和JVM的性能抱有热情。
Monica Beckwith是一位独立的性能顾问,主要从事优化基于Java虚拟机的服务级系统的客户应用程序。她过去的工作经历包括Oracle、Sun Microsystems和AMD。Monica曾经从事用Java HotSpot VM优化JIT编译器、生成代码、JVM启发式算法,以及垃圾收集和垃圾收集器方面的工作。她是许多会议上的固定发言人并多次发表主题为垃圾收集、Java内存模型等的文章。Monica领导过Oracle的G1垃圾收集器性能团队,并被人称为JavaOne摇滚明星。
Poonam Parhar (圣克拉拉,加利福利亚州)现在是一名在Oracle的JVM支持工程师,她的主要工作职责是解决针对JRockit和HotSpot VM的客户升级问题。她喜欢调试和排除故障,并且一直关注着HotSpot VM适用性和可维护性的提升。她明确了HotSpot VM里很多复杂的垃圾收集问题,并且为了能更方便进行故障排除和修复垃圾收集器相关的问题,她一直致力于提升调试工具和产品可维护性。她为可适用性代理调试器做出很多贡献,并为它开发了一个VisualVM插件。她在2011年的JavaOne会议上分享了“适用于SA 的VisualVM插件”。为了帮助客户和Java社区,她通过在https://blogs.oracle.com/poonam/上维护博客来分享自己的工作经验和知识。
Bengt Rutisson(斯德哥尔摩,瑞典)是一名Oracle的JVM工程师,他在HotSpot工程团队工作。过去十年一直从事关于JVM里的垃圾收集器的工作,他最初接触的是JRockit VM,随后六年使用HotSpot VM。Bengt是OpenJDK项目中的积极参与者,在特性、稳定性修复以及性能增强方面做出了许多贡献。
四.资料目录
前言 VII
致谢 IX
作者介绍 XII
第1章 Garbage First综述 1
术语 1
并行垃圾收集器 2
串行垃圾收集器 4
并发标记清除(CMS)垃圾收集器 5
收集器的概括总结 7
Garbage First(G1)垃圾收集器 8
G1设计 10
巨型(Humongous)对象 12
Full垃圾收集 12
并发周期 13
堆空间调整 13
引用 14
第2章 深入Garbage First垃圾收集器 15
背景 15
G1中的垃圾收集 16
年轻代 17
年轻代收集暂停 18
对象老化与老年代 19
巨型分区 19
混合收集 22
收集集合及其重要性 24
已记忆集合及其重要性 24
并发优化线程以及栅栏 28
G1 GC的并发标记 30
并发标记阶段 34
初始标记 34
根分区扫描 34
并发标记 34
重新标记 36
清除 36
转移失败与Full收集 37
引用 38
第3章 Garbage First垃圾收集器性能优化 39
年轻代收集的各阶段 39
所有并行活动的开始 41
外部根分区 42
已记忆集合和已处理缓冲区 42
已记忆集合总结 44
转移和回收 47
终止 47
GC外部的并行活动 48
所有并行活动总结 48
所有串行活动的启动 48
其他串行活动 49
年轻代调优 50
并发标记阶段调优 52
混合垃圾收集阶段回顾 54
混合垃圾收集阶段调优 56
避免转移失败 59
引用处理 60
观察引用处理 60
引用处理调优 62
引用 65
第4章 The Serviceability Agent 67
SA是什么 67
为什么要用SA 68
SA组件 68
JDK中的SA二进制文件 69
SA的JDK版本说明 69
SA如何获得Hotspot虚拟机的内部数据结构 70
SA版本对照 71
SA调试工具 72
HSDB 72
HSDB工具 80
命令行Hotspot调试器CLHSDB 100
其他工具 103
CoreDump和崩溃Dump文件 109
调试非本地生成的Core文件 109
SA的共享库问题 110
消除共享库问题 110
SA的系统属性 111
SA的环境变量 113
JDI实现 114
扩展SA工具 115
VisualVM的SA插件 118
VisualVM中怎样安装SA插件 119
SA插件使用 119
SA插件功能 120
用SA做故障分析 124
内存溢出错误分析 124
诊断语言层死锁 132
事后分析Hotspot虚拟机崩溃 137
附录 虚拟机命令行附加参数探秘 145
索引 155