[图灵程序设计丛书].Java性能权威指南[PDF][10.26MB]
内容简介
本书对Java 7和Java 8中影响性能的因素展开了全面深入的介绍,讲解传统上影响应用性能的JVM特征,包括即时编译器、垃圾收集、语言特征等。内容包括:用G1垃圾收集器应用的吞吐量;使用Java飞行记录器查看性能细节,而不必借助专业的分析工具;堆内存与原生内存实践;线程与同步的性能,以及数据库性能实践等。
目录
第1章 导论 1
1.1 概述 2
1.2 平台版本约定 2
1.3 全面的性能调优 4
1.3.1 编写更好的算法 4
1.3.2 编写更少的代码 4
1.3.3 老调重弹的过早优化 5
1.3.4 其他:数据库很可能就是瓶颈 6
1.3.5 常见的优化 7
1.4 小结 8
第2章 性能测试方法 9
2.1 原则1:测试真实应用 9
2.1.1 微基准测试 9
2.1.2 宏基准测试 13
2.1.3 介基准测试 15
2.1.4 代码示例 16
2.2 原则2:理解批处理流逝时间、吞吐量和响应时间 19
2.2.1 批处理流逝时间 19
2.2.2 吞吐量测试 20
2.2.3 响应时间测试 20
2.3 原则3:用统计方法应对性能的变化 23
2.4 原则4:尽早频繁测试 26
2.5 小结 28
第3章 Java性能调优工具箱 29
3.1 操作系统的工具和分析 29
3.1.1 CPU使用率 29
3.1.2 CPU运行队列 32
3.1.3 磁盘使用率 33
3.1.4 网络使用率 34
3.2 Java监控工具 35
3.2.1 基本的VM信息 36
3.2.2 线程信息 39
3.2.3 类信息 39
3.2.4 实时GC分析 39
3.2.5 事后堆转储 39
3.3 性能分析工具 39
3.3.1 采样分析器 40
3.3.2 探查分析器 41
3.3.3 阻塞方法和线程时间线 42
3.3.4 本地分析器 44
3.4 Java任务控制 45
3.4.1 Java飞行记录器 46
3.4.2 开启JFR 52
3.4.3 选择JFR 事件 54
3.5 小结 56
第4章 JIT编译器 58
4.1 JIT编译器:概览 58
4.2 调优入门:选择编译器类型(Client、Server或二者同用) 61
4.2.1 优化启动 62
4.2.2 优化批处理 63
4.2.3 优化长时间运行的应用 64
4.3 Java和JIT编译器版本 64
4.4 编译器中级调优 67
4.4.1 调优代码缓存 67
4.4.2 编译阈值 68
4.4.3 检测编译过程 70
4.5 高级编译器调优 73
4.5.1 编译线程 73
4.5.2 内联 74
4.5.3 逃逸分析 75
4.6 逆优化 76
4.6.1 代码被丢弃 77
4.6.2 逆优化僵尸代码 78
4.7 分层编译级别 79
4.8 小结 80
第5章 垃圾收集入门 81
5.1 垃圾收集概述 81
5.1.1 分代垃圾收集器 83
5.1.2 GC算法 84
5.1.3 选择GC算法 87
5.2 GC调优基础 92
5.2.1 调整堆的大小 92
5.2.2 代空间的调整 95
5.2.3 永久代和元空间的调整 96
5.2.4 控制并发 97
5.2.5 自适应调整 98
5.3 垃圾回收工具 99
5.4 小结 102
第6章 垃圾收集算法 103
6.1 理解Throughput收集器 103
6.2 理解CMS收集器 109
6.2.1 针对并发模式失效的调优 113
6.2.2 CMS收集器的永久代调优 116
6.2.3 增量式CMS垃圾收集 117
6.3 理解G1垃圾收集器 118
6.4 高级调优 126
6.4.1 晋升及Survivor空间 126
6.4.2 分配大对象 129
6.4.3 AggressiveHeap标志 136
6.4.4 全盘掌控堆空间的大小 137
6.5 小结 138
第7章 堆内存最佳实践 140
7.1 堆分析 140
7.1.1 堆直方图 141
7.1.2 堆转储 142
7.1.3 内存溢出错误 146
7.2 减少内存使用 149
7.2.1 减少对象大小 149
7.2.2 延迟初始化 152
7.2.3 不可变对象和标准化对象 156
7.2.4 字符串的保留 157
7.3 对象生命周期管理 160
7.3.1 对象重用 160
7.3.2 弱引用、软引用与其他引用 165
7.4 小结 175
第8章 原生内存最佳实践 176
8.1 内存占用 176
8.1.1 测量内存占用 177
8.1.2 内存占用最小化 178
8.1.3 原生NIO缓冲区 178
8.1.4 原生内存跟踪 179
8.2 针对不同操作系统优化JVM 182
8.2.1 大页 182
8.2.2 压缩的oop 185
8.3 小结 187
第9章 线程与同步的性能 188
9.1 线程池与ThreadPoolExecutor 188
9.1.1 设置最大线程数 189
9.1.2 设置最小线程数 192
9.1.3 线程池任务大小 193
9.1.4 设置ThreadPoolExecutor的大小 193
9.2 ForkJoinPool 195
9.3 线程同步 201
9.3.1 同步的代价 202
9.3.2 避免同步 205
9.3.3 伪共享 208
9.4 JVM线程调优 211
9.4.1 调节线程栈大小 211
9.4.2 偏向锁 212
9.4.3 自旋锁 212
9.4.4 线程优先级 213
9.5 监控线程与锁 213
9.5.1 查看线程 214
9.5.2 查看阻塞线程 214
9.6 小结 217
第10章 Java EE 性能调优 218
10.1 Web容器的基本性能 218
10.2 线程池 222
10.3 EJB会话Bean 223
10.3.1 调优EJB对象池 223
10.3.2 调优EJB缓存 225
10.3.3 本地和远程实例 226
10.4 XML和JSON处理 227
10.4.1 数据大小 227
10.4.2 解析和编组概述 229
10.4.3 选择解析器 230
10.4.4 XML验证 235
10.4.5 文档模型 237
10.4.6 Java对象模型 240
10.5 对象序列化 241
10.5.1 transient字段 241
10.5.2 覆盖默认的序列化 241
10.5.3 压缩序列化数据 244
10.5.4 追踪对象复制 246
10.6 Java EE网络API 248
10.7 小结 250
第11章 数据库性能的最佳实践 251
11.1 JDBC 251
11.1.1 JDBC驱动程序 252
11.1.2 预处理语句和语句池 253
11.1.3 JDBC连接池 255
11.1.4 事务 256
11.1.5 结果集的处理 262
11.2 JPA 264
11.2.1 事务处理 264
11.2.2 对JPA的写性能进行优化 267
11.2.3 对JPA的读性能进行优化 268
11.2.4 JPA缓存 271
11.2.5 JPA的只读实体 276
11.3 小结 277
第12章 Java SE API技巧 278
12.1 缓冲式I/O 278
12.2 类加载 280
12.3 随机数 284
12.4 Java原生接口 285
12.5 异常 287
12.6 字符串的性能 290
12.7 日志 291
12.8 Java集合类API 292
12.8.1 同步还是非同步 293
12.8.2 设定集合的大小 294
12.8.3 集合与内存使用效率 295
12.9 AggressiveOpts标志 296
12.9.1 替代实现 296
12.9.2 其他标志 297
12.10 Lambda表达式和匿名类 297
12.11 流和过滤器的性能 300
12.12 小结 302
附录A 性能调优标志摘要 303
作者简介 312
关于封面 312
文档截图
一、推荐使用迅雷或快车等多线程下载软件下载本站资源。
二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。
三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!
四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.
五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。
六、如需转载本站资源,请注明转载来自并附带链接
七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com
- 1尚硅谷前端学科全套视频[AVI][130.72GB]
- 2深入理解php:高级技巧、面向对象与核心技术(原书第3版) 【PDF】
- 3开发高质量PHP框架与应用的实际案例解析【PDF】
- 4响应式Web图形设计 ([美]Christopher Schmitt) 中文【PDF】
- 5响应式Web设计:HTML5和CSS3实践指南【PDF】
- 6响应式Web设计:HTML5和CSS3实战 第2版 (本·弗莱恩) 中文【PDF】
- 7Axure RP8 实战手册 网站和APP原型制作案例精粹(小楼一夜听春语) 试读版【PDF】【15.4MB】
- 8[马上学Android]安卓开发视频教程
- 9Android开发视频教程
- 10PHP100视频教程
- 1Java编程思想On Java 8[PDF][中文][英文][源码][15.31MB]
- 2PostgreSQL实战 (谭峰等著)【PDF】【221.29MB】
- 3【机器学习】菜菜的sklearn课堂(1-12全课)[PDF][源码][157.45MB]
- 4UNREAL ENGINE 4蓝图完全学习教程[PDF][66.67MB]
- 5加密与解密(第4版)[PDF][光盘源码][1.15GB]
- 6Qt 5.9 C++开发指南[PDF][276.26MB]
- 7Python数据分析与应用PPT、教案、实训数据、习题答案[PPT][142.49MB]
- 8数据中台:让数据用起来[PDF][12.80MB]
- 9计算机网络:自顶向下方法(第7版) 【PDF】【英文】【17.46MB】
- 10大话5G:走进万物互联新时代【PDF】【37.31MB】