主页 详情

《HotSpot实战》_陈涛著_13490635_9787115343635

【书名】:《HotSpot实战》
【作者】:陈涛著
【出版社】:北京:人民邮电出版社
【时间】:2014
【页数】:347
【ISBN】:9787115343635
【SS码】:13490635

最新查询

内容简介

第1章 初识HotSpot

1.1 JDK概述

1.1.1 JCP与JSR

1.1.2 JDK的发展历程

1.1.3 Java 7的语法变化

1.2动手编译虚拟机

1.2.1源代码下载

1.2.2 HotSpot 源代码结构

1.2.3搭建编译环境

1.2.4编译目标

1.2.5编译过程

1.2.6编译常见问题

1.3实战:在HotSpot内调试HelloWorld

1.3.1认识GDB

1.3.2准备调试脚本

1.4小结

第2章 启动

2.1 HotSpot内核

2.1.1如何阅读源代码

2.1.2 HotSpot内核框架

2.1.3 Prims

2.1.4 Services

2.1.5 Runtime

2.2启动

2.2.1 Launcher

2.2.2虚拟机生命周期

2.2.3入口:main函数

2.2.4主线程

2.2.5 InitializeJVM函数

2.2.6 JNI CreateJavaVM函数

2.2.7调用Java主方法

2.2.8 JVM退出路径

2.3系统初始化

2.3.1配置OS模块

2.3.2配置系统属性

2.3.3加载系统库

2.3.4启动线程

2.3.5 vm init_globals函数:初始化全局数据结构

2.3.6 init_globals函数:初始化全局模块

2.4小结

第3章 类与对象

3.1对象表示机制

3.1.1 OOP-Klass二分模型

3.1.2 Oops模块

3.1.3 OOP框架与对象访问机制

3.1.4 Klass与instanceKlass

3.1.5实战:用HSDB调试HotSpot

3.2类的状态转换

3.2.1入口:Class文件

3.2.2类的状态

3.2.3加载

3.2.4链接

3.2.5初始化

3.2.6实战:类的“族谱”

3.2.7实战:系统字典

3.3创建对象

3.3.1实例对象的创建流程

3.3.2实战:探测JVM内部对象

3.4小结

第4章 运行时数据区

4.1堆

4.1.1 Java的自动内存管理

4.1.2堆的管理

4.2线程私有区域

4.2.1 PC

4.2.2 JVM栈

4.3方法区

4.3.1纽带作用

4.3.2常量池

4.3.3常量池缓存:ConstantPoolCache

4.3.4方法的表示:methodoop

4.3.5方法的解析:将符号引用转换成直接引用

4.3.6代码放在哪里:ConstMethodOop

4.3.7实战:探测运行时常量池

4.4性能监控数据区:Perf Data

4.4.1描述这段空间:PerfMemory

4.4.2查看

4.4.3生产

4.5转储

4.5.1用VisualVM进行转储分析

4.5.2 JVM Crash

4.6小结

第5章 垃圾收集

5.1堆与GC

5.1.1垃圾收集

5.1.2分代收集

5.1.3快速分配

5.1.4栈上分配和逸出分析

5.1.5 GC公共模块

5.2垃圾收集器

5.2.1设计演进

5.2.2 CMS收集器

5.2.3 G1收集器

5.3实战:性能分析方法

5.3.1获取GC日志

5.3.2 GC监控信息

5.3.3内存分析工具

5.3.4选择合适的收集器与GC性能评估

5.3.5不要忽略JVM Crash日志

5.4小结

第6章栈

6.1硬件背景:了解真实机器

6.1.1程序是如何运行的

6.1.2 x86与栈帧

6.1.3 ARM对Java硬件级加速:Jazelle技术

6.2 Java栈

6.2.1寄存器式指令集与栈式指令集

6.2.2 HotSpot中的栈

6.2.3栈帧

6.2.4充分利用寄存器资源

6.2.5虚拟机如何调用 Java函数

6.2.6优化:栈顶缓存

6.2.7实战:操作数栈

6.3小结

第7章 解释器和即时编译器

7.1概述

7.2解释器如何工作

7.2.1 Interpreter模块

7.2.2 Code模块

7.2.3字节码表

7.2.4 Code Cache

7.2.5 InterpreterCodelet与Stub队列

7.2.6 Code生成器

7.2.7模板表与转发表

7.2.8实战:InterpreterCodelet

7.3即时编译器

7.3.1概述

7.3.2编译器模块

7.3.3编译器的基本结构

7.3.4实战:编译原理实践,了解编译中间环节

7.4小结

第8章 指令集

8.1再说栈式指令集

8.2数据传送

8.2.1局部变量、常量池和操作数栈之间的数据传送

8.2.2数据传送指令

8.2.3实战:数组的越界检查

8.3类型转换

8.4对象的创建和操作

8.5程序流程控制

8.5.1控制转移指令

8.5.2条件转移

8.5.3无条件转移

8.5.4复合条件转移

8.5.5实战:switch语句如何使用String

8.6运算

8.6.1加法:iadd

8.6.2取负:ineg

8.7函数的调用和返回

8.7.1 Java函数分发机制:VTABLE与ITABLE

8.7.2 invoke系列指令

8.7.3动态分发:覆盖

8.7.4静态分发:重载

8.8异常

8.8.1异常表

8.8.2创建异常

8.8.3try-catch

8.8.4 finally

8.9小结

第9章 虚拟机监控工具

9.1 Attach机制

9.1.1 AttachProvider与VirtualMachine

9.1.2命令的下发:executeO

9.1.3命令的执行:Attach Listener守护线程

9.2查看JVM进程

9.2.1用jps查看Java进程

9.2.2实战:定制jps,允许查看库路径

9.3查看和配置JVM

9.3.1用jinfo查看JVM参数配置

9.3.2实战:扩展flags选项,允许查看命令行参数

9.4堆内存转储工具

9.4.1 Heap Dump

9.4.2原理

9.5堆转储分析

9.5.1 Heap Dump分析工具:jhat

9.5.2实战:MAT分析过程

9.6线程转储分析

9.6.1 jstack

9.6.2实战:如何分析资源等待

9.7小结


书查询(www.shuchaxun.com)本网页唯一编码:
20542412af5fdd05e2a94079c489aa99#9dcf977a2ede8dda24535c654cac0e22#67428408#HotSpot实战_13490635.zip