主页 详情

《JRocKit权威指南 深入理解JVM》_(瑞士)马库斯·希尔特_14539632_9787115500458

【书名】:《JRocKit权威指南 深入理解JVM》
【作者】:(瑞士)马库斯·希尔特
【出版社】:北京:人民邮电出版社
【时间】:2019
【页数】:322
【ISBN】:9787115500458
【SS码】:14539632

最新查询

内容简介

第1章 起步

1.1获取JRockit JVM

1.2将应用程序迁移到JRockit

1.2.1命令行选项

1.2.2行为差异

1.3 JRockit版本号的命名规则

1.4获取帮助

1.5小结

第2章 自适应代码生成

2.1平台无关性

2.2 Java虚拟机

2.2.1基于栈的虚拟机

2.2.2字节码格式

2.3代码生成策略

2.3.1纯解释执行

2.3.2静态编译

2.3.3完全JIT编译

2.3.4 混合模式

2.4自适应代码生成

2.4.1判断热方法

2.4.2优化动态程序

2.5深入JIT编译器

2.5.1处理字节码

2.5.2字节码“优化器”

2.5.3优化字节码

2.6代码流水线

2.6.1为什么JRockit没有字节码解释器

2.6.2启动

2.6.3运行时代码生成

2.6.4代码生成概述

2.7控制代码生成

2.8小结

第3章 自适应内存管理

3.1自动内存管理

3.1.1自适应内存管理

3.1.2自动内存管理的优点

3.1.3自动内存管理的缺点

3.2堆管理基础

3.2.1对象的分配与释放

3.2.2碎片与整理

3.3垃圾回收算法

3.3.1引用计数

3.3.2引用跟踪

3.3.3 STW

3.3.4分代垃圾回收

3.3.5吞吐量与延迟

3.3.6 JRockit中的垃圾回收

3.4性能与伸缩性

3.4.1线程局部分配

3.4.2更大的堆内存

3.4.3缓存友好性

3.4.4 NUMA架构

3.4.5大内存页

3.4.6自适应

3.5近实时垃圾回收

3.5.1软实时与硬实时

3.5.2 JRockit Real Time

3.6内存操作相关的API

3.6.1析构方法

3.6.2 Java中的引用

3.6.3 JVM的行为差异

3.7陷阱与伪优化

3.8 JRockit中的内存管理

3.8.1基本参数

3.8.2压缩引用

3.8.3高级选项

3.9小结

第4章 线程与同步

4.1基本概念

4.1.1难以调试

4.1.2难以优化

4.2 Java API

4.2.1 synchronized关键字

4.2.2 j ava.lang.Thread类

4.2.3 java.util.concurrent包

4.2.4信号量

4.2.5 volatile关键字

4.3 Java中线程与同步机制的实现

4.3.1 Java内存模型

4.3.2同步的实现

4.3.3同步在字节码中的实现

4.3.4线程的实现

4.4对于线程与同步的优化

4.4.1锁膨胀与锁收缩

4.4.2递归锁

4.4.3锁融合

4.4.4延迟解锁

4.5陷阱与伪优化

4.5.1 Thread.stop、Thread.resume和Thread.suspend

4.5.2双检查锁

4.6相关命令行参数

4.6.1检查锁与延迟解锁

4.6.2输出调用栈信息

4.6.3锁分析

4.6.4设置线程栈的大小

4.6.5使用命令行参数控制锁的行为

4.7小结

第5章 基准测试与性能调优

5.1为何要进行基准测试

5.1.1制定性能目标

5.1.2对性能进行回归测试

5.1.3确定优化方向

5.1.4商业应用

5.2如何构建基准测试

5.2.1置身事外

5.2.2多次测量

5.2.3微基准测试

5.2.4测试前热身

5.3确定测试目标

5.3.1吞吐量

5.3.2兼顾吞吐量、响应时间和延迟

5.3.3伸缩性

5.3.4电力消耗

5.3.5其他问题

5.4工业级基准测试

5.4.1 SPEC基准测试套件

5.4.2 SipStone基准测试

5.4.3 DaCapo基准测试

5.4.4真实场景下的应用程序

5.5基准测试的潜在风险

5.6性能调优

5.6.1非规范化行为

5.6.2调优目标

5.7常见性能瓶颈与规避方法

5.7.1命令行参数-XXaggressive

5.7.2析构函数

5.7.3引用对象过多

5.7.4对象池

5.7.5算法与数据结构

5.7.6误用System.gc()

5.7.7线程数太多

5.7.8锁竞争导致性能瓶颈

5.7.9不必要的异常

5.7.10大对象

5.7.11本地内存与堆内存

5.8 wait方法、notify方法与胖锁

5.8.1堆的大小设置不当

5.8.2存活对象过多

5.8.3 Java并非万能

5.9小结

第6章 JRockit Mission Control套件

6.1背景介绍

6.1.1采样分析与准确分析

6.1.2用途广泛

6.2概述

6.2.1 JRockit Mission Control的服务器端组件

6.2.2 JRockit Mission Control的客户端组件

6.2.3术语介绍

6.2.4独立运行JRockit MissionControl

6.2.5在Eclipse中运行JRockitMission Control

6.2.6远程管理JRockit

6.2.7安全限制

6.2.8处理连接问题

6.3更新点

6.4调试JRockit Mission Control

6.5小结

第7章 Management Console

7.1 JMX Management Console

7.2 Management Console

7.2.1一般信息标签组

7.2.2 MBean标签组

7.2.3运行时标签组

7.2.4高级标签组

7.2.5其他标签组

7.3扩展JRockit Mission Control Console

7.4小结

第8章 JRockit Runtime Analyzer

8.1反馈信息的必要性

8.2分析JRA记录

8.2.1一般信息标签组

8.2.2内存标签组

8.2.3代码标签组

8.2.4线程/锁标签组

8.2.5延迟标签组

8.2.6使用操作集

8.3故障排除

8.4小结

第9章 JRockit Flight Recorder

9.1 JRA进化

9.1.1关于事件

9.1.2记录引擎

9.1.3启动参数

9.2在JRockit Mission Control中使用JFR

9.3与JRA的区别

9.3.1范围选择器

9.3.2操作集

9.3.3关联键

9.3.4延迟分析

9.3.5异常分析

9.3.6内存分析

9.4自定义事件

9.5扩展JFR

9.6小结

第10章 Memory Leak Detector

10.1 Java内存泄漏

10.1.1静态编程语言中的内存泄漏

10.1.2自动内存管理中的内存泄漏

10.2检测Java中的内存泄漏

10.3 Memleak简介

10.4追踪内存泄漏

10.5交互式追踪内存泄漏

10.6通用堆分析器

10.7追踪内存分配

10.8问题排查

10.9小结

第11章 JRCMD

11.1简介

11.2覆盖SIGQUIT信号处理句柄

11.3 JRCMD的限制

11.4 JRCMD命令参考

11.4.1 check※flight recording(R28)

11.4.2 check j rarecording(R27)

11.4.3 command_line

11.4.4 dump_f light recording(R28)

11.4.5 heap_diagnostics(R28)

11.4.6 hprofdump(R28)

11.4.7 kill_anagement_server

11.4.8 list_mflags(R28)

11.4.9 lockprofile_print

11.4.10 lockprofile_reset

11.4.11 memleakserver

11.4.12 oom_diagnostics(R27)

11.4.13 print class_ummary

11.4.14 print_odegen_list

11.4.15 print_emusage(R27)

11.4.16 print_memusage(R28)

11.4.17 print_object_summary

11.4.18 print_properties

11.4.19 print_threads

11.4.20 print_tf8pool

11.4.21 print_m_state

11.4.22 run_optfile(R27)

11.4.23 run_optfile(R28)

11.4.24 runfinalization

11.4.25 runsystemgc

11.4.26 set_mflag(R28)

11.4.27 start_flightrecording(R28)

11.4.28 start_management_server

11.4.29 start jrarecording(R27)

11.4.30 stop_f light recording(R28)

11.4.31 timestamp

11.4.32 verbosity

11.4.33 version

11.5小结

第12章 JRockit Management API

12.1 JMAPI

12.2 JMXMAPI

12.2.1 JRockit内部性能计数器

12.2.2使用JMXMAPI构建可远程操作的JRCMD

12.3小结

第13章 JRockit Virtual Edition

13.1虚拟化简介

13.1.1全虚拟化

13.1.2半虚拟化

13.1.3其他虚拟化术语

13.1.4虚拟机管理程序

13.1.5虚拟化的优势

13.1.6虚拟化的劣势

13.2 Java虚拟化

13.2.1 JRockit Virtual Edition

13.2.2虚拟机镜像与管理框架

13.2.3 JRockit VE的优势

13.2.4 JRockit VE的限制

13.3虚拟化能媲美真实环境吗

13.3.1高质量的热点代码采样

13.3.2自适应堆大小

13.3.3线程间的页保护

13.4小结

附录A 参考文献

附录B 术语表


书查询(www.shuchaxun.com)本网页唯一编码:
20e2e31fb58de385446ac16647c54bcc#355f126c35fa7d91bbf57781ae385065#49830843#14539632.zip