- 商品参数
-
- 作者:
斯科特·奥克斯著|
无编
- 出版社:人民邮电出版社
- 出版时间:2022-04
- 页数:无
- ISBN:9782096801068
- 版权提供:人民邮电出版社
店铺公告
为保障消费者合理购买需求及公平交易机会,避免因非生活消费目的的购买货囤积商品,抬价转售等违法行为发生,店铺有权对异常订单不发货且不进行赔付。异常订单:包括但不限于相同用户ID批量下单,同一用户(指不同用户ID,存在相同/临近/虚构收货地址,或相同联系号码,收件人,同账户付款人等情形的)批量下单(一次性大于5本),以及其他非消费目的的交易订单。
温馨提示:请务必当着快递员面开箱验货,如发现破损,请立即拍照拒收,如验货有问题请及时联系在线客服处理,(如开箱验货时发现破损,所产生运费由我司承担,一经签收即为货物完好,如果您未开箱验货,一切损失就需要由买家承担,所以请买家一定要仔细验货)。
关于退货运费:对于下单后且物流已发货货品在途的状态下,原则上均不接受退货申请,如顾客原因退货需要承担来回运费,如因产品质量问题(非破损问题)可在签收后,联系在线客服。
内容介绍
本书从JVM和Java API两个方面,深入地介绍了Java 8和Java **等新的Java长期支持版本中影响性能的因素。本书先从Java应用程序的通用方法、基准测试的缺陷、性能监控工具等方面,分析了如何通过JVM的配置方式影响程序的性能;接着从*时编译、垃圾回收、堆内存与原生内存最佳实践、线程与同步的性能等方面,分析了常见的*化方向及其*性。第2版*注于更加成熟的Java 8和Java **,主要的更新内容涉及G*垃圾回收器和Java飞行记录器,以及Java在容器化环境下的性能变化。
目录
前言 xiii
第 *章 导论 *
*.* 概述 2
*.2 平台和约定 2
*.2.* Java平台 2
*.2.2 硬件平台 4
*.3 *面的性能 6
*.3.* 写出更好的算法 6
*.3.2 写更少的代码 7
*.3.3 过早*化 8
*.3.4 其他:数据库*远是瓶颈 9
*.3.5 常见*化 9
*.4 小结 *0
第 2章 性能测试方法 **
2.* 测试真实的应用程序 **
2.*.* 微基准测试 **
2.*.2 宏基准测试 *5
2.*.3 介基准测试 *6
2.2 理解吞吐量、批处理时间和响应时间 *7
2.2.* 测量批处理时间*7
2.2.2 测量吞吐量*8
2.2.3 测量响应时间 *9
2.3 理解可变性22
2.4 早测试、常测试 25
2.5 基准测试示例 27
2.5.* Java 微基准测试工具 27
2.5.2 常用代码示例 34
2.6 小结 36
第3 章 Java 性能工具箱 38
3.* 操作系统工具和分析 38
3.*.* CPU 使用率 39
3.*.2 CPU 运行队列 4*
3.*.3 磁盘使用率 42
3.*.4 网络使用率 44
3.2 Java 监控工具 45
3.2.* 基本的VM 信息 46
3.2.2 线程信息 48
3.2.3 类信息 49
3.2.4 实时GC 分析 49
3.2.5 堆转储后期处理 49
3.3 性能分析工具 49
3.3.* 采样分析器 50
3.3.2 探查分析器 53
3.3.3 阻塞方法和线程时间线 54
3.3.4 原生分析器 55
3.4 JFR 57
3.4.* 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.* *时编译器:概览 70
4.2 分层编译 73
4.3 常用的编译器标志 74
4.3.* *化代码缓存 74
4.3.2 检查编译过程 75
4.3.3 分层编译级别 78
4.3.4 逆*化 79
4.4 *级编译器标志 82
4.4.* 编译阈值 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.* 提前编译 90
4.7.2 GraalVM 原生编译 92
4.8 小结 93
第5 章 垃圾回收简介 95
5.* 垃圾回收概览 95
5.*.* 分代垃圾回收器97
5.*.2 GC 算法99
5.*.3 选择GC 算法*0*
5.2 GC *化基础*08
5.2.* 调整堆的大小 *08
5.2.2 调整分代大小 **0
5.2.3 调整元空间大小 **2
5.2.4 控制并行**3
5.3 GC 工具**4
5.3.* 在JDK 8 中开启GC 日志 **4
5.3.2 在JDK ** 中开启GC 日志 **5
5.4 小结 **8
第6 章 垃圾回收算法 **9
6.* 理解Throughput 回收器 **9
6.2 理解G* 垃圾回收器 *25
6.3 理解CMS 回收器 *36
6.4 *级*化 *43
6.4.* 晋*和Survivor 空间*43
6.4.2 分配大对象 *46
6.4.3 AggressiveHeap 标志 *52
6.4.4 完*掌控堆的大小 *53
6.5 实验性GC 算法 *54
6.5.* 并发压缩:ZGC 和Shenandoah *54
6.5.2 *回收:Epsilon GC *56
6.6 小结*57
第7 章 堆内存最佳实践 *59
7.* 堆分析 *59
7.*.* 堆直方图*60
7.*.2 堆转储*6*
7.*.3 内存溢出错误 *64
7.2 减少内存使用 *68
7.2.* 减小对象大小 *69
7.2.2 使用延迟初始化*7*
7.2.3 使用*可变对象和标准化对象 *75
7.3 对象生命周期管理 *76
7.3.* 对象重用*77
7.3.2 软引用、弱引用和其他引用*8*
7.3.3 压缩的普通对象指针*93
7.4 小结*94
第8 章 原生内存最佳实践*95
8.* 内存占用*95
8.*.* 测量内存占用 *96
8.*.2 最小化内存占用*97
8.*.3 原生内存跟踪 *97
8.*.4 共享库原生内存20*
8.2 针对操作系统的JVM *化 204
8.3 小结208
第9 章 线程和同步性能 209
9.* 线程和硬件209
9.2 线程池和ThreadPoolExecutor 2*0
9.2.* 设置最大线程数2*0
9.2.2 设置最小线程数2*3
9.2.3 线程池任务大小2*5
9.2.4 设置ThreadPoolExecutor 的大小2*5
9.3 ForkJoinPool.2*7
9.3.* 工作窃取 22*
9.3.2 自动并行化 223
9.4 线程同步 224
9.4.* 同步的代* 225
9.4.2 避*同步 228
9.4.3 伪共享 230
9.5 JVM 线程*化 233
9.5.* *化线程栈大小 234
9.5.2 偏向锁234
9.5.3 线程*先级 235
9.6 监控线程和锁 235
9.6.* 查看线程235
9.6.2 查看阻塞线程 236
9.7 小结239
第 *0 章 Java 服务器 240
*0.* Java NIO 概览 240
*0.2 服务器容器 242
*0.2.* *化服务器线程池 242
*0.2.2 异步Rest 服务器 243
*0.3 异步出站调用246
*0.4 JSON 处理25*
*0.4.* 解析和编组概览 252
*0.4.2 JSON 对象 253
*0.4.3 JSON 解析 254
*0.5 小结 256
第 ** 章 数据库性能最佳实践 257
**.* 示例数据库 258
**.2 JDBC 258
**.2.* JDBC 驱动 258
**.2.2 JDBC 连接池 260
**.2.3 预处理语句和语句池 26*
**.2.4 事务 262
**.2.5 结果集处理269
**.3 JPA270
**.3.* *化JPA 写 27*
**.3.2 *化JPA 读 272
**.3.3 JPA 缓存 275
**.4 Spring Data280
**.5 小结28*
第 *2 章 Java SE API 技巧282
*2.* 字符串 282
*2.*.* 压缩字符串 282
*2.*.2 重复字符串和字符串*留283
*2.*.3 字符串连接 288
*2.2 缓冲I/O 29*
*2.3 类加载 293
*2.4 随机数 296
*2.5 Java 原生接口298
*2.6 异常300
*2.7 日志303
*2.8 Java 集合API304
*2.8.* 同步和非同步305
*2.8.2 设置集合大小306
*2.8.3 集合与内存效率 307
*2.9 Lambda 和匿名类 308
*2.*0 流和过滤器的性能3*0
*2.** 对象序列化 3*2
*2.**.* 瞬时字段3*2
*2.**.2 覆盖默认的序列化3*3
*2.**.3 压缩序列化数据 3*5
*2.**.4 跟踪重复对象3*7
*2.*2 小结 3*9
附录 调*标志总结 32*
作者介绍
【作者简介】 斯科*·奥克斯(Scott Oaks) Oracle公司架构师,从事Oracle云平台软件的性能*化工作。在加入Oracle之前,他是Sun公司的Java布道师,并在200*年加入Java性能工程小组,*注于Java的性能*化工作。除了本书,他还著有多*涉及Java线程、Java*等方面的*。 【译者简介】 党文亮 沉浸Java相关*域多年,目前在华为云*注于性能诊断平台和OS管理系统的研发,有大量从0到*的项目实践经验,在逆向、性能、算法等方面*有*定的积累。
1