图书介绍
JRockit权威指南 深入理解JVMpdf电子书版本下载
- (瑞士)马库斯·希尔特,(瑞典)马库斯·拉杰格伦著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115500458
- 出版时间:2019
- 标注页数:322页
- 文件大小:46MB
- 文件页数:342页
- 主题词:JAVA语言-程序设计
PDF下载
下载说明
JRockit权威指南 深入理解JVMPDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 起步 1
1.1获取JRockit JVM 1
1.2将应用程序迁移到JRockit 2
1.2.1命令行选项 3
1.2.2行为差异 3
1.3 JRockit版本号的命名规则 4
1.4获取帮助 5
1.5小结 5
第2章 自适应代码生成 6
2.1平台无关性 6
2.2 Java虚拟机 7
2.2.1基于栈的虚拟机 8
2.2.2字节码格式 8
2.3代码生成策略 10
2.3.1纯解释执行 10
2.3.2静态编译 11
2.3.3完全JIT编译 12
2.3.4 混合模式 12
2.4自适应代码生成 13
2.4.1判断热方法 14
2.4.2优化动态程序 14
2.5深入JIT编译器 16
2.5.1处理字节码 16
2.5.2字节码“优化器” 18
2.5.3优化字节码 21
2.6代码流水线 22
2.6.1为什么JRockit没有字节码解释器 22
2.6.2启动 23
2.6.3运行时代码生成 24
2.6.4代码生成概述 26
2.7控制代码生成 38
2.8小结 42
第3章 自适应内存管理 43
3.1自动内存管理 43
3.1.1自适应内存管理 44
3.1.2自动内存管理的优点 44
3.1.3自动内存管理的缺点 45
3.2堆管理基础 45
3.2.1对象的分配与释放 45
3.2.2碎片与整理 45
3.3垃圾回收算法 47
3.3.1引用计数 47
3.3.2引用跟踪 47
3.3.3 STW 50
3.3.4分代垃圾回收 55
3.3.5吞吐量与延迟 57
3.3.6 JRockit中的垃圾回收 58
3.4性能与伸缩性 60
3.4.1线程局部分配 60
3.4.2更大的堆内存 61
3.4.3缓存友好性 64
3.4.4 NUMA架构 65
3.4.5大内存页 66
3.4.6自适应 67
3.5近实时垃圾回收 69
3.5.1软实时与硬实时 69
3.5.2 JRockit Real Time 69
3.6内存操作相关的API 72
3.6.1析构方法 72
3.6.2 Java中的引用 73
3.6.3 JVM的行为差异 75
3.7陷阱与伪优化 75
3.8 JRockit中的内存管理 76
3.8.1基本参数 76
3.8.2压缩引用 78
3.8.3高级选项 78
3.9小结 79
第4章 线程与同步 80
4.1基本概念 80
4.1.1难以调试 82
4.1.2难以优化 82
4.2 Java API 84
4.2.1 synchronized关键字 84
4.2.2 j ava.lang.Thread类 84
4.2.3 java.util.concurrent包 85
4.2.4信号量 85
4.2.5 volatile关键字 87
4.3 Java中线程与同步机制的实现 88
4.3.1 Java内存模型 88
4.3.2同步的实现 91
4.3.3同步在字节码中的实现 96
4.3.4线程的实现 99
4.4对于线程与同步的优化 100
4.4.1锁膨胀与锁收缩 100
4.4.2递归锁 101
4.4.3锁融合 101
4.4.4延迟解锁 102
4.5陷阱与伪优化 105
4.5.1 Thread.stop、Thread.resume和Thread.suspend 105
4.5.2双检查锁 106
4.6相关命令行参数 107
4.6.1检查锁与延迟解锁 107
4.6.2输出调用栈信息 108
4.6.3锁分析 110
4.6.4设置线程栈的大小 111
4.6.5使用命令行参数控制锁的行为 111
4.7小结 111
第5章 基准测试与性能调优 113
5.1为何要进行基准测试 113
5.1.1制定性能目标 114
5.1.2对性能进行回归测试 114
5.1.3确定优化方向 115
5.1.4商业应用 115
5.2如何构建基准测试 116
5.2.1置身事外 116
5.2.2多次测量 118
5.2.3微基准测试 118
5.2.4测试前热身 121
5.3确定测试目标 122
5.3.1吞吐量 122
5.3.2兼顾吞吐量、响应时间和延迟 122
5.3.3伸缩性 122
5.3.4电力消耗 124
5.3.5其他问题 124
5.4工业级基准测试 124
5.4.1 SPEC基准测试套件 124
5.4.2 SipStone基准测试 128
5.4.3 DaCapo基准测试 128
5.4.4真实场景下的应用程序 128
5.5基准测试的潜在风险 128
5.6性能调优 129
5.6.1非规范化行为 129
5.6.2调优目标 130
5.7常见性能瓶颈与规避方法 138
5.7.1命令行参数-XXaggressive 138
5.7.2析构函数 139
5.7.3引用对象过多 139
5.7.4对象池 139
5.7.5算法与数据结构 140
5.7.6误用System.gc() 141
5.7.7线程数太多 141
5.7.8锁竞争导致性能瓶颈 142
5.7.9不必要的异常 142
5.7.10大对象 144
5.7.11本地内存与堆内存 144
5.8 wait方法、notify方法与胖锁 145
5.8.1堆的大小设置不当 145
5.8.2存活对象过多 145
5.8.3 Java并非万能 145
5.9小结 146
第6章 JRockit Mission Control套件 147
6.1背景介绍 147
6.1.1采样分析与准确分析 148
6.1.2用途广泛 149
6.2概述 150
6.2.1 JRockit Mission Control的服务器端组件 151
6.2.2 JRockit Mission Control的客户端组件 151
6.2.3术语介绍 153
6.2.4独立运行JRockit MissionControl 153
6.2.5在Eclipse中运行JRockitMission Control 154
6.2.6远程管理JRockit 155
6.2.7安全限制 159
6.2.8处理连接问题 160
6.3更新点 162
6.4调试JRockit Mission Control 162
6.5小结 164
第7章 Management Console 165
7.1 JMX Management Console 165
7.2 Management Console 166
7.2.1一般信息标签组 166
7.2.2 MBean标签组 171
7.2.3运行时标签组 174
7.2.4高级标签组 176
7.2.5其他标签组 177
7.3扩展JRockit Mission Control Console 178
7.4小结 181
第8章 JRockit Runtime Analyzer 182
8.1反馈信息的必要性 182
8.2分析JRA记录 185
8.2.1一般信息标签组 185
8.2.2内存标签组 186
8.2.3代码标签组 188
8.2.4线程/锁标签组 190
8.2.5延迟标签组 192
8.2.6使用操作集 195
8.3故障排除 197
8.4小结 198
第9章 JRockit Flight Recorder 199
9.1 JRA进化 199
9.1.1关于事件 200
9.1.2记录引擎 200
9.1.3启动参数 202
9.2在JRockit Mission Control中使用JFR 203
9.3与JRA的区别 205
9.3.1范围选择器 205
9.3.2操作集 206
9.3.3关联键 206
9.3.4延迟分析 206
9.3.5异常分析 207
9.3.6内存分析 209
9.4自定义事件 210
9.5扩展JFR 213
9.6小结 215
第10章 Memory Leak Detector 216
10.1 Java内存泄漏 216
10.1.1静态编程语言中的内存泄漏 216
10.1.2自动内存管理中的内存泄漏 217
10.2检测Java中的内存泄漏 217
10.3 Memleak简介 218
10.4追踪内存泄漏 219
10.5交互式追踪内存泄漏 224
10.6通用堆分析器 226
10.7追踪内存分配 227
10.8问题排查 227
10.9小结 228
第11章 JRCMD 229
11.1简介 229
11.2覆盖SIGQUIT信号处理句柄 230
11.3 JRCMD的限制 232
11.4 JRCMD命令参考 232
11.4.1 check※flight recording(R28) 232
11.4.2 check j rarecording(R27) 233
11.4.3 command_line 234
11.4.4 dump_f light recording(R28) 234
11.4.5 heap_diagnostics(R28) 234
11.4.6 hprofdump(R28) 237
11.4.7 kill_anagement_server 238
11.4.8 list_mflags(R28) 238
11.4.9 lockprofile_print 239
11.4.10 lockprofile_reset 240
11.4.11 memleakserver 240
11.4.12 oom_diagnostics(R27) 240
11.4.13 print class_ummary 240
11.4.14 print_odegen_list 241
11.4.15 print_emusage(R27) 242
11.4.16 print_memusage(R28) 243
11.4.17 print_object_summary 247
11.4.18 print_properties 249
11.4.19 print_threads 250
11.4.20 print_tf8pool 251
11.4.21 print_m_state 251
11.4.22 run_optfile(R27) 252
11.4.23 run_optfile(R28) 252
11.4.24 runfinalization 253
11.4.25 runsystemgc 253
11.4.26 set_mflag(R28) 253
11.4.27 start_flightrecording(R28) 253
11.4.28 start_management_server 254
11.4.29 start jrarecording(R27) 255
11.4.30 stop_f light recording(R28) 256
11.4.31 timestamp 256
11.4.32 verbosity 256
11.4.33 version 257
11.5小结 258
第12章 JRockit Management API 259
12.1 JMAPI 259
12.2 JMXMAPI 263
12.2.1 JRockit内部性能计数器 264
12.2.2使用JMXMAPI构建可远程操作的JRCMD 266
12.3小结 270
第13章 JRockit Virtual Edition 271
13.1虚拟化简介 272
13.1.1全虚拟化 272
13.1.2半虚拟化 273
13.1.3其他虚拟化术语 273
13.1.4虚拟机管理程序 273
13.1.5虚拟化的优势 275
13.1.6虚拟化的劣势 275
13.2 Java虚拟化 276
13.2.1 JRockit Virtual Edition 277
13.2.2虚拟机镜像与管理框架 279
13.2.3 JRockit VE的优势 284
13.2.4 JRockit VE的限制 287
13.3虚拟化能媲美真实环境吗 287
13.3.1高质量的热点代码采样 288
13.3.2自适应堆大小 288
13.3.3线程间的页保护 289
13.4小结 291
附录A 参考文献 292
附录B 术语表 296