为什么程序总是那么慢?它现在到底在干什么?时间都花到哪里去了?也许,你经常会抱怨这些问题。如果是这样,那说明你的程序出了性能问题。和功能性问题相比,性能问题在有些情况下,可能并不算什么太大的问题,将就将就,也就过去了。但是,严重的性能问题会导致程序瘫痪、假死,直至崩溃。
欢迎来到Java性能调优指南。本书涉及到的主题有G1垃圾收集器,也称作“Garbage First垃圾收集器”,以及Java HotSpot VM Serviceability Agent。 着重了讲解了Java性能调优的方方面面,希望能对你有所帮助。
目录总览
资料全部真实有效,不会缺页,不会只是大纲!!!由于文章篇幅有限,为了不耽误大家宝贵的时间,这份PDF小编已经为大家整理好了,需要免费领取的朋友可以点击此处来获取就可以了!
第1章Garbage First综述
- 术语
- 并行垃圾收集器
- 串行垃圾收集器
- 并发标记清除(CMS) 垃圾收集器
- 收集器的概括总结
- Garbage First (G1) 垃圾收集器
- G1设计
- 巨型(Humongous)对象
- Full垃圾收集
- 并发周期
- 堆空间调整
- 引用
第2章深入Garbage First垃圾收集器
- 背景
- G1中的垃圾收集
- 年轻代
- 年轻代收集暂停
- 对象老化与老年代
- 巨型分区
- 混合收集
- 收集集合及其重要性
- 已记忆集合及其重要性
- 并发优化线程以及栅栏
- G1 GC的并发标记
- 并发标记阶段
- 初始标记
- 根分区扫描
- 并发标记
- 重新标记
- 清除
- 转移失败与Full收集
- 引用
第3章Garbage First垃圾收集器性能优化
- 年轻代收集的各阶段
- 所有并行活动的开始
- 外部根分区
- 已记忆集台和已处理缓冲区
- 已记忆集合总结
- 转移和回收
- 终止
- GC外部的并行活动
- 所有并行活动总结
- 所有串行活动的启动
- 其他串行活动
- 年轻代调优
- 并发标记阶段调优
- 混合垃圾收集阶段回顾
- 混合垃圾收集阶段调优
- 避免转移失败
- 引用处理
- 观察引用处理
- 引用处理调优
- 引用
第4章The Serviceability Agent
- SA是什么
- 为什么要用SA
- SA组件
- JDK中的SA二进制文件
- SA的JDK版本说明
- SA如何获得Hotspot虚拟机的内部数据结构
- SA版本对照
- SA调试工具
- HSDB
- 链接到Hotspot Core文件
- 连接到调试服务器
- HSDB工具
- 类浏览器
- 死锁检测
- 对象监视器
- 对象直方图
- 计算反向指针
- 查找Object对象
- 查找指针
- 查找堆内地址
- 代码缓存区查值
- 内存视图
- 对象监视器缓存转存
- 代码查看器
- 堆要素
- 系统变量
- 虚拟机版本信息
- 命令行参数
- 命令行Hotspot调试器CLHSDB
- 其他工具
- 终结者信息
- 堆Dumper
- 永生代信息统计
- 对象直方图
- 结构化对象查询语言-OQL
- ClassDump
- Javascript调试器
- CoreDump和崩溃Dump文件
- 调试非本地生成的Core文件
- SA的共享库问题
- 消除共享库问题
- SA的系统属性
- SA的环境变量
- JDI实现
- 扩展SA工具
- VisualVM的SA插件
- VisualVM中怎样安装SA插件
- SA插件使用
- SA插件功能
- 用SA做故障分析
- 内存溢出错误分析
- 诊断语言层死锁
- 事后分析Hotspot虚拟机崩溃
附录虚拟机命令行附加参数探秘
资料全部真实有效,不会缺页,不会只是大纲!!!由于文章篇幅有限,为了不耽误大家宝贵的时间,这份PDF小编已经为大家整理好了,需要免费领取的朋友可以点击此处来获取就可以了!
与Java程序员相依相伴了很多年的CMS垃圾收集算法,随着现在Java应用的内存越占越大的情况,在暂停时间上有点力不从心了。但压测的经历告诉我们,不是简单地把算法改成G1就可以。如果真的在生产环境对延时敏感严苛的应用上使用它,你需要了解更多的实现细节,更多的优化技巧,才能有足够的信心去把控未来可能出现的情况本书正好提供了这方面的内容。