Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

Java性能权威指南(第2版) PDF 下载


分享到:
时间:2024-03-08 11:09来源:http://www.java1234.com 作者:转载  侵权举报
本书从JVM和Java API两个方面,深入地介绍了Java 8和Java 11等新的Java长期支持版本中影响性能的因素。本书先从Java应用程序的通用方法、基准测试的缺陷、性能监控工具等方面,分析了如何
失效链接处理
Java性能权威指南(第2版) PDF 下载

下载地址:
版权归出版社和原作者所有,链接已删除,请购买正版

用户下载说明:

电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
https://product.dangdang.com/29398455.html
 

相关截图:
Java性能权威指南(第2版) PDF 下载 图1


资料简介:

本书从JVM和Java API两个方面,深入地介绍了Java 8和Java 11等新的Java长期支持版本中影响性能的因素。本书先从Java应用程序的通用方法、基准测试的缺陷、性能监控工具等方面,分析了如何通过JVM的配置方式影响程序的性能;接着从即时编译、垃圾回收、堆内存与原生内存实践、线程与同步的性能等方面,分析了常见的优化方向及其特性。第2版专注于更加成熟的Java 8和Java 11,主要的更新内容涉及G1垃圾回收器和Java飞行记录器,以及Java在容器化环境下的性能变化。


资料目录:


前言 xiii

第 1章 导论 1

1.1 概述 2

1.2 平台和约定 2

1.2.1 Java平台 2

1.2.2 硬件平台 4

1.3 全面的性能 6

1.3.1 写出更好的算法 6

1.3.2 写更少的代码 7

1.3.3 过早优化 8

1.3.4 其他:数据库永远是瓶颈 9

1.3.5 常见优化 9

1.4 小结 10

第 2章 性能测试方法 11

2.1 测试真实的应用程序 11

2.1.1 微基准测试 11

2.1.2 宏基准测试 15

2.1.3 介基准测试 16

2.2 理解吞吐量、批处理时间和响应时间 17

2.2.1 测量批处理时间17

2.2.2 测量吞吐量18

2.2.3 测量响应时间 19

2.3 理解可变性22

2.4 早测试、常测试 25

2.5 基准测试示例 27

2.5.1 Java 微基准测试工具 27

2.5.2 常用代码示例 34

2.6 小结 36

第3 章 Java 性能工具箱 38

3.1 操作系统工具和分析 38

3.1.1 CPU 使用率 39

3.1.2 CPU 运行队列 41

3.1.3 磁盘使用率 42

3.1.4 网络使用率 44

3.2 Java 监控工具 45

3.2.1 基本的VM 信息 46

3.2.2 线程信息 48

3.2.3 类信息 49

3.2.4 实时GC 分析 49

3.2.5 堆转储后期处理 49

3.3 性能分析工具 49

3.3.1 采样分析器 50

3.3.2 探查分析器 53

3.3.3 阻塞方法和线程时间线 54

3.3.4 原生分析器 55

3.4 JFR 57

3.4.1 Java Mission Control 57

3.4.2 JFR 概览 58

3.4.3 开启JFR 64

3.4.4 选择JFR 事件 67

3.5 小结 69

第4 章 使用即时编译器 70

4.1 即时编译器:概览 70

4.2 分层编译 73

4.3 常用的编译器标志 74

4.3.1 优化代码缓存 74

4.3.2 检查编译过程 75

4.3.3 分层编译级别 78

4.3.4 逆优化 79

4.4 高级编译器标志 82

4.4.1 编译阈值 82

4.4.2 编译线程 83

4.4.3 内联 85

4.4.4 逃逸分析 86

4.4.5 CPU 相关代码 87

4.5 分层编译的权衡 88

4.6 GraalVM 89

4.7 预编译 90

4.7.1 提前编译 90

4.7.2 GraalVM 原生编译 92

4.8 小结 93

第5 章 垃圾回收简介 95

5.1 垃圾回收概览 95

5.1.1 分代垃圾回收器97

5.1.2 GC 算法99

5.1.3 选择GC 算法101

5.2 GC 优化基础108

5.2.1 调整堆的大小 108

5.2.2 调整分代大小 110

5.2.3 调整元空间大小 112

5.2.4 控制并行113

5.3 GC 工具114

5.3.1 在JDK 8 中开启GC 日志 114

5.3.2 在JDK 11 中开启GC 日志 115

5.4 小结 118

第6 章 垃圾回收算法 119

6.1 理解Throughput 回收器 119

6.2 理解G1 垃圾回收器 125

6.3 理解CMS 回收器 136

6.4 高级优化 143

6.4.1 晋升和Survivor 空间143

6.4.2 分配大对象 146

6.4.3 AggressiveHeap 标志 152

6.4.4 完全掌控堆的大小 153

6.5 实验性GC 算法 154

6.5.1 并发压缩:ZGC 和Shenandoah 154

6.5.2 无回收:Epsilon GC 156

6.6 小结157

第7 章 堆内存实践 159

7.1 堆分析 159

7.1.1 堆直方图160

7.1.2 堆转储161

7.1.3 内存溢出错误 164

7.2 减少内存使用 168

7.2.1 减小对象大小 169

7.2.2 使用延迟初始化171

7.2.3 使用不可变对象和标准化对象 175

7.3 对象生命周期管理 176

7.3.1 对象重用177

7.3.2 软引用、弱引用和其他引用181

7.3.3 压缩的普通对象指针193

7.4 小结194

第8 章 原生内存实践195

8.1 内存占用195

8.1.1 测量内存占用 196

8.1.2 小化内存占用197

8.1.3 原生内存跟踪 197

8.1.4 共享库原生内存201

8.2 针对操作系统的JVM 优化 204

8.3 小结208

第9 章 线程和同步性能 209

9.1 线程和硬件209

9.2 线程池和ThreadPoolExecutor 210

9.2.1 设置线程数210

9.2.2 设置小线程数213

9.2.3 线程池任务大小215

9.2.4 设置ThreadPoolExecutor 的大小215

9.3 ForkJoinPool.217

9.3.1 工作窃取 221

9.3.2 自动并行化 223

9.4 线程同步 224

9.4.1 同步的代价 225

9.4.2 避免同步 228

9.4.3 伪共享 230

9.5 JVM 线程优化 233

9.5.1 优化线程栈大小 234

9.5.2 偏向锁234

9.5.3 线程优先级 235

9.6 监控线程和锁 235

9.6.1 查看线程235

9.6.2 查看阻塞线程 236

9.7 小结239

第 10 章 Java 服务器 240

10.1 Java NIO 概览 240

10.2 服务器容器 242

10.2.1 优化服务器线程池 242

10.2.2 异步Rest 服务器 243

10.3 异步出站调用246

10.4 JSON 处理251

10.4.1 解析和编组概览 252

10.4.2 JSON 对象 253

10.4.3 JSON 解析 254

10.5 小结 256

第 11 章 数据库性能实践 257

11.1 示例数据库 258

11.2 JDBC 258

11.2.1 JDBC 驱动 258

11.2.2 JDBC 连接池 260

11.2.3 预处理语句和语句池 261

11.2.4 事务 262

11.2.5 结果集处理269

11.3 JPA270

11.3.1 优化JPA 写 271

11.3.2 优化JPA 读 272

11.3.3 JPA 缓存 275

11.4 Spring Data280

11.5 小结281

第 12 章 Java SE API 技巧282

12.1 字符串 282

12.1.1 压缩字符串 282

12.1.2 重复字符串和字符串保留283

12.1.3 字符串连接 288

12.2 缓冲I/O 291

12.3 类加载 293

12.4 随机数 296

12.5 Java 原生接口298

12.6 异常300

12.7 日志303

12.8 Java 集合API304

12.8.1 同步和非同步305

12.8.2 设置集合大小306

12.8.3 集合与内存效率 307

12.9 Lambda 和匿名类 308

12.10 流和过滤器的性能310

12.11 对象序列化 312

12.11.1 瞬时字段312

12.11.2 覆盖默认的序列化313

12.11.3 压缩序列化数据 315

12.11.4 跟踪重复对象317

12.12 小结 319

附录 调优标志总结 321

 

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐