图书介绍
JRockit权威指南 深入理解JVMPDF|Epub|txt|kindle电子书版本网盘下载
- (瑞士)马库斯·希尔特,(瑞典)马库斯·拉杰格伦著 著
- 出版社: 北京:人民邮电出版社
- 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 JVM1
1.2将应用程序迁移到JRockit2
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 STW50
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 Time69
3.6内存操作相关的API72
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 API84
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.suspend105
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命令行参数-XXaggressive138
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 MissionControl153
6.2.5在Eclipse中运行JRockitMission Control154
6.2.6远程管理JRockit155
6.2.7安全限制159
6.2.8处理连接问题160
6.3更新点162
6.4调试JRockit Mission Control162
6.5小结164
第7章 Management Console165
7.1 JMX Management Console165
7.2 Management Console166
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 Console178
7.4小结181
第8章 JRockit Runtime Analyzer182
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 Recorder199
9.1 JRA进化199
9.1.1关于事件200
9.1.2记录引擎200
9.1.3启动参数202
9.2在JRockit Mission Control中使用JFR203
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扩展JFR213
9.6小结215
第10章 Memory Leak Detector216
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章 JRCMD229
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_line234
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_server238
11.4.8 list_mflags(R28)238
11.4.9 lockprofile_print239
11.4.10 lockprofile_reset240
11.4.11 memleakserver240
11.4.12 oom_diagnostics(R27)240
11.4.13 print class_ummary240
11.4.14 print_odegen_list241
11.4.15 print_emusage(R27)242
11.4.16 print_memusage(R28)243
11.4.17 print_object_summary247
11.4.18 print_properties249
11.4.19 print_threads250
11.4.20 print_tf8pool251
11.4.21 print_m_state251
11.4.22 run_optfile(R27)252
11.4.23 run_optfile(R28)252
11.4.24 runfinalization253
11.4.25 runsystemgc253
11.4.26 set_mflag(R28)253
11.4.27 start_flightrecording(R28)253
11.4.28 start_management_server254
11.4.29 start jrarecording(R27)255
11.4.30 stop_f light recording(R28)256
11.4.31 timestamp256
11.4.32 verbosity256
11.4.33 version257
11.5小结258
第12章 JRockit Management API259
12.1 JMAPI259
12.2 JMXMAPI263
12.2.1 JRockit内部性能计数器264
12.2.2使用JMXMAPI构建可远程操作的JRCMD266
12.3小结270
第13章 JRockit Virtual Edition271
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 Edition277
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