图书介绍

Java虚拟机规范pdf电子书版本下载

Java虚拟机规范
  • (美)(T.林霍尔姆)Tim Lindholm,(美)(F.耶林)Frank Yellin著;玄伟剑等译 著
  • 出版社: 北京:北京大学出版社
  • ISBN:7301034784
  • 出版时间:1997
  • 标注页数:252页
  • 文件大小:10MB
  • 文件页数:265页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页 直链下载[便捷但速度慢]   [在线试读本书]   [在线获取解压码]

下载说明

Java虚拟机规范PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一章 引言 1

1.1 一点历史 1

1.2 Java虚拟机 1

1.3 各章概述 2

第二章 Java概念 3

2.1 Unicode 3

2.2 标识符 3

2.3 文字 4

2.4 类型和值 4

2.4.1 基本类型和值 4

2.4.2 整型值上的操作符 5

2.4.3 浮点值上的操作符 5

2.4.4 boolean值上的操作符 5

2.4.5 引用类型、对象和引用值 6

2.4.6 类Object 6

2.4.7 类String 6

2.4.8 对象上的操作符 6

2.5 变量 6

2.5.1 变量的初始值 7

2.5.2 变量具有类型,对象具有类 8

2.6 转换和提升 8

2.6.1 等同转换 9

2.6.2 放宽基本转换 9

2.6.3 缩窄基本转换 9

2.6.4 放宽引用转换 10

2.6.5 缩窄引用转换 10

2.6.6 赋值转换 10

2.6.7 方法调用转换 11

2.6.8 类型转换 11

2.6.9 数值提升 12

2.7 名称和包 12

2.7.1 名称 12

2.7.2 包 12

2.7.3 成员 13

2.7.4 包成员 13

2.7.5 类类型的成员 13

2.7.6 接口类型的成员 13

2.7.7 数组类型的成员 13

2.7.8 限定名称和访问控制 14

2.7.9 完整限定名称 14

2.8 类 15

2.8.1 类名称 15

2.8.2 类修辞符 15

2.8.3 超类和子类 15

2.8.4 类成员 15

2.9 域 16

2.9.1 域修饰符 16

2.9.2 域的初始化 17

2.10 方法 17

2.10.1 形式函数 17

2.10.2 签名 17

2.10.3 方法修饰符 17

2.11 静态初始化函数 18

2.12 构造函数 18

2.13 接口 18

2.13.1 接口修饰符 19

2.13.2 超接口 19

2.13.3 接口成员 19

2.13.4 接口(常数)域 19

2.13.5 接口(抽象)方法 20

2.13.6 接口中的覆盖、继承和重载 20

2.14 数组 20

2.14.1 数组类型 20

2.14.2 数组变量 21

2.14.3 数组创建 21

2.14.4 数组访问 21

2.15 异常 21

2.15.1 引起异常的原因 22

2.15.2 处理异常 22

2.15.3 异常层次 23

2.15.4 类Exception和RuntimeException 24

2.16 执行 25

2.16.1 虚拟机启动 25

2.16.2 装载 26

2.16.3 链接:检验、准备和解析 27

2.16.4 初始化 28

2.16.5 详细的初始化过程 29

2.16.6 新的类实例的创建 30

2.16.7 类实例的终止 31

2.16.8 类和接口的终止和卸载 32

2.16.9 虚拟机退出 32

2.17 线程 32

第三章 Java虚拟机的结构 35

3.1 数据类型 35

3.2 基本类型和值 35

3.2.1 整型和值 36

3.2.2 浮点型和值 36

3.2.3 returnAddress类型和值 37

3.2.4 没有boolean类型 37

3.3 引用类型和值 37

3.4 字 37

3.5 运行期数据区 37

3.5.1 pc寄存器 37

3.5.2 Java栈 38

3.5.3 堆 38

3.5.4 方法区 39

3.5.5 常数池 39

3.5.6 自身方法栈 40

3.6 框架 40

3.6.1 局部变量 41

3.6.2 操作数栈 41

3.6.3 动态链接 41

3.6.4 正常的方法结束 41

3.6.5 不正常的方法结束 42

3.6.6 附加信息 42

3.7 对象的表示 42

3.8 特殊的初始化方法 42

3.9 异常 43

3.10 class文件格式 43

3.11 指令集概述 43

3.11.1 类型和Java虚拟机 44

3.11.2 装载和存储指令 46

3.11.3 运算指令 46

3.11.4 类型转换指令 47

3.11.5 对象创建和操纵 48

3.11.6 操作数栈管理指令 49

3.11.7 控制转移指令 49

3.11.8 方法调用和返回指令 49

3.11.9 抛出和处理异常 50

3.11.10 实现finally 50

3.11.11 同步 50

3.12 公共设计,私有实现 50

第四章 class文件格式 51

4.1 ClassFile 51

4.2 完整限定类名称的内部形式 54

4.3 描述符 54

4.3.1 语法记号 55

4.3.2 域描述符 55

4.3.3 方法描述符 56

4.4 常数池 56

4.4.1 CONSTANT_Class 57

4.4.2 CONSTANT_Fieldref,CONSTANT_Methodref和CONSTANT_InterfaceMethodref 58

4.4.3 CONSTANT_String 59

4.4.4 CONSTANT_Integer和CONSTANT_Float 59

4.4.5 CONSTANT_Long和CONSTANT_Double 60

4.4.6 CONSTANT_NameAndType 61

4.4.7 CONSTANT_Utf8 62

4.5 域 63

4.6 方法 64

4.7 属性 66

4.7.1 定义和命名新属性 66

4.7.2 SourceFile属性 67

4.7.3 ConstantValue属性 67

4.7.4 Code属性 68

4.7.5 Exceptions属性 70

4.7.6 LineNumberTable属性 71

4.7.7 LocalVariableTable属性 72

4.8 对Java虚拟机代码的约束 73

4.8.1 静态约束 73

4.8.2 结构约束 75

4.9 class文件的检验 77

4.9.1 检验进程 78

4.9.2 字节码检验器 79

4.9.3 长整数和双精度数 81

4.9.4 实例初始化方法和新创建的对象 81

4.9.5 异常处理者 82

4.9.6 异常和finally 82

4.10 Java虚拟机和class文件格式的限制 84

第五章 常数池解析 85

5.1 类和接口解析 86

5.1.1 不由类装载器装载的当前类或接口 86

5.1.2 由类装载器装载的当前类或接口 88

5.1.3 数组类 89

5.2 域和方法解析 90

5.3 接口方法解析 90

5.4 字符串解析 90

5.5 其他常数池项的解析 91

第六章 Java虚拟机指令集 92

6.1 假定:“必须”的含义 92

6.2 保留操作码 92

6.3 虚拟机错误 92

6.4 Java虚拟机指令集 93

第七章 为Java虚拟机编译 183

7.1 范例格式 183

7.2 常数、局部变量和控制构造的使用 184

7.3 运算 188

7.4 访问常数池 189

7.5 更多控制范例 190

7.6 接收参数 193

7.7 调用方法 194

7.8 处理类实例 196

7.9 数组 198

7.10 编译开关 200

7.11 对操作数栈的操作 202

7.12 抛出和处理异常 203

7.13 编译finally 207

7.14 同步 210

第八章 线程和锁 212

8.1 术语和框架 212

8.2 执行顺序和一致性 213

8.3 有关变量的规则 214

8.4 Double和Long变量的非原子处理 215

8.5 有关锁的规则 215

8.6 有关锁和变量的交互作用的规则 215

8.7 有关易变变量的规则 216

8.8 先见存储操作 216

8.9 讨论 217

8.10 范例:可能的交换 217

8.11 范例:无序写 220

8.12 线程 222

8.13 锁和同步 222

8.14 等待集和通知 222

第九章 优化 224

9.1 通过重写动态链接 224

9.2 _quick伪指令 224

第十章 操作码的操作码助记符 247

精品推荐