Java 应用性能优化是一个老生常谈的话题,典型的性能问题如页面响应慢、接口超时,服务器负载高、并发数低,数据库频繁死锁等。尤其是在“糙快猛”的互联网开发模式大行其道的今天,随着系统访问量的日益增加和代码的臃肿,各种性能问题开始纷至沓来。
Java 应用性能的瓶颈点非常多,比如磁盘、内存、网络 I/O 等系统因素,Java 应用代码,JVM GC,数据库,缓存等。笔者根据个人经验,将 Java 性能优化分为 4 个层级:应用层、数据库层、框架层、JVM 层。
Java性能调优指南。本书涉及到的主题有G1垃圾收集器,也称作“Garbage First垃圾收集器”,以及Java HotSpot VM Serviceability Agent。 着重了讲解了Java性能调优的方方面面,希望能对你有所帮助。
目录总览
除了介绍的性能调优以外,我还想给大家分享关于spring,mysql,jvm,分布式等等的学习资料给大家学习,活到老学到老,知识才是自己的财富,希望帮到大家~想要获取的,滴我可取~
第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虚拟机崩溃
附录虚拟机命令行附加参数探秘