Java虚拟机精讲

副标题:无

作   者:高翔龙 编著

分类号:

ISBN:9787121257056

微信扫一扫,移动浏览光盘

简介

HotSpot VM 是目前市面上高性能JVM 的代表作之一,它采用解释器+JIT 编译器的混合执行引擎,使得Java 程序的执行性能从此有了质的飞跃。本书以极其精练的语句诠释了HotSpot VM 的方方面面,比如:字节码的编译原理、字节码的内部组成结构、通过源码的方式剖析HotSpot VM 的启动过程和初始化过程、Java 虚拟机的运行时内存、垃圾收集算法、垃圾收集器(重点讲解了Serial 收集器、ParNew 收集器、Parallel 收集器、CMS(Concurrent-Mark-Sweep)收集器和G1(Garbage-First)收集器)、类加载机制,以及HotSpot VM 基于栈的架构模型和执行引擎(解释器的工作流程、JIT 编译器的工作流程、分层编译策略、热点探测功能)等技术。

目录

第 1 章 Java 体系结构.......................................1
1.1 认识 Java................................................1
1.1.1 与生俱来的优点.........................2
1.1.2 语法结构和对象模型..................4
1.1.3 历史版本追溯.............................5
1.2 Java 重要概念.......................................7
1.2.1 Java 编程语言.............................7
1.2.2 字节码.........................................7
1.2.3 Java API.......................................8
1.2.4 Java 虚拟机.................................8
1.3 安装与配置 Java 运行环境..............10
1.3.1 Windows 环境下的安装与
配置...........................................10
1.3.2 Linux 环境下的安装与配置.....11
1.3.3 编写 Java 程序..........................12
1.3.4 编译与运行...............................13
1.3.5 关键字与标示符.......................13
1.4 Java 技术的新特性............................14
1.4.1 Java 模块化与 OSGi 技术........14
1.4.2 语言无关性...............................15
1.4.3 使用 Fork/Join 框架实现多
核并行.......................................16
1.4.4 丰富的语法特性.......................17
1.4.5 过渡到 64 位虚拟机.................18
1.5 实战:玩转 OpenJDK.......................19
1.5.1 JDK 与 OpenJDK 的关系.........19
1.5.2 基于 OpenJDK 深度定制的
淘宝 JVM(TaobaoVM)........20
1.5.3 下载 OpenJDK 源代码.............22
1.5.4 构建编译环境...........................22
1.5.5 执行整个 OpenJDK 的编译.....23
1.5.6 执行单独 HotSpot 的编译........26
1.5.7 导致编译失败的一些疑难
杂症...........................................29
1.5.8 使用 GDB 工具 Debug
HotSpot......................................30
1.6 本章小结..............................................36
第 2 章 字节码的编译原理.............................37
2.1 javac 编译器简介...............................37
2.1.1 javac 与 Eclipse Compiler for
Java 编译器...............................38
2.1.2 javac 的使用与标准选项配置..39
2.1.3 编译原理...................................40
2.1.4 下载 javac 编译器源码.............41
2.1.5 调用 compile()方法执行编译...41
2.2 词法解析步骤.....................................43
2.2.1 Token 序列................................45
2.2.2 源码字符集合与 Token 之间
的对应关系...............................47
2.2.3 调用 key()方法获取指定
Token.........................................48
2.2.4 调用 nextToken()方法计算
Token 的获取规则....................48
2.2.5 调用 parseCompilationUnit()
方法执行词法解析...................49
2.3 语法解析步骤.....................................51
2.3.1 调用 qualident()方法解析
package 语法节点.....................52
2.3.2 调用 importDeclaration()
方法解析 import 语法树...........54
2.3.3 调用 classDeclaration()
方法解析 class 语法树..............56
2.4 语义解析步骤.....................................59
2.5 生成字节码..........................................61
2.6 实战:使用 javap 工具分析
字节码...................................................62
2.7 实战:使用 GCJ 编译器将 Java
源码直接编译为本地机器指令......64
2.8 本章小结..............................................66
第 3 章 字节码文件...........................................67
3.1 字节码文件的内部组成结构...........67
3.2 符号引用..............................................73
3.2.1 类或者接口的全限定名............74
3.2.2 简单名称...................................74
3.2.3 描述符.......................................74
3.3 常量池..................................................76
3.3.1 CONSTANT_Utf8_info
常量项.......................................77
3.3.2 CONSTANT_Integer_info
常量项.......................................77
3.3.3 CONSTANT_Float_info
常量项.......................................78
3.3.4 CONSTANT_Long_info
常量项.......................................78
3.3.5 CONSTANT_Double_info
常量项.......................................79
3.3.6 CONSTANT_Class_info
常量项.......................................79
3.3.7 CONSTANT_String_info
常量项.......................................80
3.3.8 CONSTANT_Fieldref_info
常量项.......................................81
3.3.9 CONSTANT_Methodref_info
常量项.......................................81
3.3.10 CONSTANT_InterfaceMethodref
_info 常量项............................82
3.3.11 CONSTANT_NameAndType
_info 常量项............................82
3.3.12 CONSTANT_MethodHandle
_info 常量项............................83
3.3.13 CONSTANT_MethodType
_info 常量项............................84
3.3.14 CONSTANT_InvokeDynamic
_info 常量项............................84
3.4 字段表..................................................85
3.5 方法表................................

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

Java虚拟机精讲
    • 名称
    • 类型
    • 大小

    联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon