中文名: Java虚拟机规范(Java+SE+7)
作者: Tim Lindholm
Frank Yellin译者: 周志明图书
分类: 软件
资源格式: PDF
版本: 扫描版
出版社: 清华大学出版社
书号: ISBN:730202365
发行时间: 2011年02月
地区: 大陆
语言: 简体中文
简介:
内容简介
《Java虚拟机规范 (Java SE 7 中文版)》是一份根据《Java Virtual Machine Specification (Java SE 7)》翻译的、非官方的、以Open Document形式发布的文档。
本译文由ItEye社区三位水友IcyFenix、wupuyuan、langyu合作完成,我们的翻译工作完全基于技术研究目的,任何人也都可以在以技术研究为目的前提下任意阅读、传播、使用这份文档。但没有得到原文作者和译者授权,不得用于商业出版。
《Java虚拟机规范》并非某一款虚拟机实现的说明书,它是一份保证各个公司的Java虚拟机实现具备统一外部接口的契约文档,书中的概念和细节描述曾经与Sun的早期虚拟机的实现高度吻合,但是随着技术的发展,高性能虚拟机真正的细节实现方式已经渐渐与虚拟机规范所描述的内容产生了越来越大的差距。
内容截图
目录:
Java虚拟机规范 (Java SE 7版)1
译者序2
版权声明4
目录8
前言14
第二版说明15
Java SE 7版说明15
第1章 引言18
1.1 简史18
1.2 Java虚拟机18
1.3 各章节提要19
1.4 说明20
第2章 Java虚拟机结构21
2.1 Class文件格式21
2.2 数据类型22
2.3 原始类型与值22
2.3.1 整型类型与整型值23
2.3.2 浮点类型、取值集合及浮点值24
2.3.3 returnAddress类型和值26
2.3.4 boolean类型26
2.4 引用类型与值27
2.5 运行时数据区27
2.5.1 PC寄存器28
2.5.2 Java虚拟机栈28
2.5.3 Java堆29
2.5.4 方法区29
2.5.5 运行时常量池30
2.5.6 本地方法栈30
2.6 栈帧31
2.6.1 局部变量表32
2.6.2 操作数栈33
2.6.3 动态链接34
2.6.4 方法正常调用完成34
2.6.5 方法异常调用完成34
2.7 对象的表示35
2.8 浮点算法35
2.8.1 Java虚拟机和IEEE 754中的浮点算法35
2.8.2 浮点模式36
2.8.3 数值集合转换37
2.9 初始化方法的特殊命名38
2.10 异常38
2.11 字节码指令集简介40
2.11.1 数据类型与Java虚拟机41
2.11.2 加载和存储指令44
2.11.3 运算指令45
2.11.4 类型转换指令46
2.11.5 对象创建与操作47
2.11.6 操作数栈管理指令48
2.11.7 控制转移指令48
2.11.8 方法调用和返回指令49
2.11.9 抛出异常49
2.11.10 同步49
2.12 类库50
2.13 公有设计,私有实现51
第3章 为JAVA虚拟机编译53
3.1 示例的格式说明53
3.2 常量、局部变量的使用和控制结构54
3.3 算术运算58
3.4 访问运行时常量池59
3.5 更多的控制结构示例61
3.6 接收参数64
3.7 方法调用64
3.8 使用类实例67
3.9 数组69
3.10 编译switch语句71
3.11 使用操作数栈73
3.12 抛出异常和处理异常74
3.13 编译finally语句块78
3.14 同步81
3.15 注解82
第4章 Class文件格式84
4.1 ClassFile结构85
4.2 各种内部表示名称89
4.2.1 类和接口的二进制名称90
4.2.2 非全限定名90
4.3 描述符和签名91
4.3.1 语法符号91
4.3.2 字段描述符92
4.3.3 方法描述符93
4.3.4 签名94
4.4 常量池96
4.4.1 CONSTANT_Class_info结构97
4.4.2 CONSTANT_Fieldref_info, CONSTANT_Methodref_info和CONSTANT_InterfaceMethodref_info结构98
4.4.3 CONSTANT_String_info结构100
4.4.4 CONSTANT_Integer_info和CONSTANT_Float_info结构100
4.4.5 CONSTANT_Long_info和CONSTANT_Double_info结构102
4.4.6 CONSTANT_NameAndType_info结构103
4.4.7 CONSTANT_Utf8_info结构104
4.4.8 CONSTANT_MethodHandle_info结构105
4.4.9 CONSTANT_MethodType_info结构107
4.4.10 CONSTANT_InvokeDynamic_info结构107
4.5 字段108
4.6 方法110
4.7 属性113
4.7.1 自定义和命名新的属性115
4.7.2 ConstantValue属性116
4.7.3 Code属性117
4.7.4 StackMapTable属性120
4.7.5 Exceptions属性126
4.7.6 InnerClasses属性127
4.7.7 EnclosingMethod属性130
4.7.8 Synthetic属性131
4.7.9 Signature属性132
4.7.10 SourceFile属性132
4.7.11 SourceDebugExtension 属性133
4.7.12 LineNumberTable属性134
4.7.13 LocalVariableTable属性135
4.7.14 LocalVariableTypeTable属性137
4.7.15 Deprecated属性139
4.7.16 RuntimeVisibleAnnotations属性139
4.7.16.1 element_value结构141
4.7.17 RuntimeInvisibleAnnotations 属性143
4.7.18 RuntimeVisibleParameterAnnotations属性144
4.7.19 RuntimeInvisibleParameterAnnotations属性146
4.7.20 AnnotationDefault属性147
4.7.21 BootstrapMethods属性148
4.8 格式检查150
4.9 Java虚拟机代码约束150
4.9.1 静态约束150
4.9.2 结构化约束154
4.10 Class文件校验156
4.10.1 类型检查验证157
4.10.2 类型推导验证158
4.10.2.1 类型推断的验证过程158
4.10.2.2 字节码验证器158
4.10.2.3 long和double类型的值161
4.10.2.4 实例初始化方法与创建对象162
4.10.2.5 异常和finally163
4.11 Java虚拟机限制165
第5章 加载、链接与初始化167
5.1 运行时常量池167
5.2 虚拟机启动170
5.3 创建和加载170
5.3.1 使用引导类加载器来加载类型172
5.3.2 使用用户自定义类加载器来加载类型172
5.3.3 创建数组类173
5.3.4 加载限制174
5.3.5 从Class文件中获取类175
5.4 链接176
5.4.1 验证176
5.4.2 准备177
5.4.3 解析178
5.4.3.1 类与接口解析179
5.4.3.2 字段解析179
5.4.3.3 普通方法解析180
5.4.3.4 接口方法解析181
5.4.3.5 方法类型与方法句柄解析182
5.4.3.6 调用点限定符解析185
5.4.3 访问控制185
5.4.5 方法覆盖186
5.5 初始化187
5.6 绑定本地方法实现189
5.7 Java虚拟机退出189
第6章 Java虚拟机指令集190
6.1 设定:“必须”的含义190
6.2 保留操作码190
6.3 虚拟机错误191
6.4 指令描述格式191
6.5 指令集描述193
第7章 操作码助记符379

截图:



欢迎投稿 职场/创业方向. 邮箱wangfzcom(AT)163.com:王夫子社区 » Java虚拟机规范(Java+SE+7) Tim Lindholm著 中文 PDF版 PDF 免费下载

点评 0

评论前必须登录!

登陆 注册