发表于2024-12-29
Java虚拟机规范(Java SE 8版) 计算机与互联网 书籍|4706197 pdf epub mobi txt 电子书 下载
书[0名0]: | Java虚拟机规范(Java SE 8版)|4706197 |
图书定价: | 79元 |
图书作者: | (美)蒂姆·林霍尔姆;弗兰克·耶林;吉拉德·布拉查;亚历克斯·巴克利 |
出版社: | 机械工业出版社 |
出版日期: | 2015/6/1 0:00:00 |
ISBN号: | 9787111501596 |
开本: | 16开 |
页数: | 330 |
版次: | 1-1 |
作者简介 |
蒂姆·林霍尔姆(Tim Lindholm),资深Java虚拟机高级架构师,Java编程语言的主要贡献者之一,曾是Sun公司杰出工程师,目前主要负责移动设备上的Java应用。在到Sun公司工作之前,他曾经在美[0国0]阿贡[0国0]家实验室和Quintus公司从事与虚拟机和运行时系统相关的工作。 弗兰克·耶林(Frank Yellin),曾是Sun公司高级工程师,Java项目元老级成员。近十余年中,他都从事着解释型及编译型语言的运行时系统方面的工作。在到Sun公司工作之前,他在Lucid公司从事Common Lisp编译器相关的工作。 吉拉德·布拉查(Gilad Bracha),Newspeak编程语言的创建者,曾是Sun公司杰出工程师。在到Sun公司工作之前,他在Animorphic Sm[0all0]talk System公司从事Strongtalk语言相关的工作。 亚历克斯·巴克利(Alex Buckley),Oracle公司Java编程语言和Java虚拟机规范负责人。 |
内容简介 |
本书由Oracle官方发布,Java虚拟机技术创建人撰写,[0国0]内资深Java技术专家翻译。书中基于新Java SE 8,完整且准确地阐述Java虚拟机规范,是深度了解Java虚拟机和Java语言实现细节的必读之作。 本书共分7章。[0第0]1章从宏观的角度介绍了Java虚拟机与Java的关系及发展历程;[0第0]2章概述Java虚拟机的整体架构,包括class文件格式、数据类型、原始类型、引用类型、运行时数据区、栈帧、浮点算[0法0]、异常等,这对理解本书后面的内容有重要帮助;[0第0]3章详述如何将Java语言编写的程序转换为Java虚拟机指令集,涉及常量、局部变量、控制结构、算术运算、参数接收、方[0法0]调用、数组、操作数栈、异常处理、同步与注解等;[0第0]4章深入分析用来表示编译后的类和接口的class文件格式;[0第0]5章定义Java虚拟机启动以及类与接口的加载、链接和初始化过程;[0第0]6章阐释并列举Java虚拟机指令集;[0第0]7章提供一张以操作码值为索引的Java虚拟机操作码助记符表。 |
目录 |
译者序 前 言 [0第0]1章 引言1 1.1 简[0史0]1 1.2 Java虚拟机2 1.3 各章节摘要2 1.4 说明3 1.5 反馈3 [0第0]2章 Java虚拟机结构4 2.1 class文件格式4 2.2 数据类型5 2.3 原始类型与值5 2.3.1 整数类型与整型值6 2.3.2 浮点类型、取值集合及浮点值6 2.3.3 returnAddress类型和值8 2.3.4 boolean类型8 2.4 引用类型与值9 2.5 运行时数据区9 2.5.1 pc寄存器9 2.5.2 Java虚拟机栈10 2.5.3 Java堆10 2.5.4 方[0法0]区11 2.5.5 运行时常量池11 2.5.6 本地方[0法0]栈12 2.6 栈帧12 2.6.1 局部变量表13 2.6.2 操作数栈14 2.6.3 动态链接14 2.6.4 方[0法0]调用正常完成15 2.6.5 方[0法0]调用异常完成15 2.7 对象的表示15 2.8 浮点算[0法0]15 2.8.1 Java虚拟机和IEEE 754中的浮点算[0法0]15 2.8.2 浮点模式16 2.8.3 数值集合转换17 2.9 特殊方[0法0]18 2.10 异常19 2.11 字节码指令集简介20 2.11.1 数据类型与Java虚拟机21 2.11.2 加载和存储指令23 2.11.3 算术指令24 2.11.4 类型转换指令25 2.11.5 对象的创建与操作27 2.11.6 操作数栈管理指令27 2.11.7 控制转移指令27 2.11.8 方[0法0]调用和返回指令28 2.11.9 抛出异常28 2.11.10 同步28 2.12 类库29 2.13 公有设计、私有实现30 [0第0]3章 Java虚拟机编译器31 3.1 示例的格式说明31 3.2 常量、局部变量和控制结构的使用32 3.3 算术运算36 3.4 访问运行时常量池36 3.5 与控制结构有关的更多示例37 3.6 接收参数40 3.7 方[0法0]调用41 3.8 使用类实例43 3.9 数组44 3.10 编译switch语句46 3.11 使用操作数栈48 3.12 抛出异常和处理异常48 3.13 编译fin[0all0]y语句块51 3.14 同步54 3.15 注解55 [0第0]4章 class文件格式56 4.1 ClassFile结构57 4.2 各种[0名0]称的内部表示形式61 4.2.1 类和接口的二进制[0名0]称61 4.2.2 非限定[0名0]61 4.3 描述符62 4.3.1 语[0法0]符号62 4.3.2 字段描述符62 4.3.3 方[0法0]描述符63 4.4 常量池64 4.4.1 CONSTANT_Class_info结构65 4.4.2 CONSTANT_Fieldref_info、CONSTANT_Methodref_info和CONSTANT_InterfaceMethodref_info结构66 4.4.3 CONSTANT_String_info结构67 4.4.4 CONSTANT_Integer_info和CONSTANT_Float_info结构67 4.4.5 CONSTANT_Long_info和CONSTANT_Double_info结构68 4.4.6 CONSTANT_NameAnd-Type_info结构69 4.4.7 CONSTANT_Utf8_info结构70 4.4.8 CONSTANT_MethodHandle_info结构72 4.4.9 CONSTANT_MethodType_info结构73 4.4.10 CONSTANT_Invoke-Dynamic_info结构74 4.5 字段74 4.6 方[0法0]76 4.7 属性78 4.7.1 自定义和命[0名0]新的属性82 4.7.2 ConstantValue属性82 4.7.3 Code属性83 4.7.4 StackMapTable属性86 4.7.5 Exceptions属性92 4.7.6 InnerClasses属性93 4.7.7 EnclosingMethod属性95 4.7.8 Synthetic属性96 4.7.9 Signature属性96 4.7.10 SourceFile属性100 4.7.11 SourceDebugExtension属性101 4.7.12 LineNumberTable属性102 4.7.13 LocalVariableTable属性103 4.7.14 LocalVariableTypeTable属性104 4.7.15 Deprecated属性106 4.7.16 RuntimeVisibleAn[0no0]ta-tions属性106 4.7.17 RuntimeInvisible-An[0no0]tations属性110 4.7.18 RuntimeVisibleParameterAn[0no0]tations属性111 4.7.19 RuntimeInvisiblePara-meterAn[0no0]tations属性112 4.7.20 RuntimeVisibleTypeAn[0no0]tations属性114 4.7.21 RuntimeInvisibleType-An[0no0]tations属性124 4.7.22 An[0no0]tationDefault属性125 4.7.23 BootstrapMethods属性126 4.7.24 MethodParameters属性127 4.8 格式检查129 4.9 Java虚拟机代码约束129 4.9.1 静态约束130 4.9.2 结构化约束132 4.10 class文件校验135 4.10.1 类型检查验证136 4.10.2 类型推导验证200 4.11 Java虚拟机限制206 [0第0]5章 加载、链接与初始化208 5.1 运行时常量池208 5.2 虚拟机启动210 5.3 创建和加载211 5.3.1 使用引导类加载器来加载类型212 5.3.2 使用用户自定义类加载器来加载类型212 5.3.3 创建数组类213 5.3.4 加载限制214 5.3.5 从class文件表示得到类214 5.4 链接215 5.4.1 验证216 5.4.2 准备216 5.4.3 解析217 5.4.4 访问控制225 5.4.5 方[0法0]覆盖225 5.5 初始化226 5.6 绑定本地方[0法0]实现228 5.7 Java虚拟机退出228 [0第0]6章 Java虚拟机指令集229 6.1 设定:“必须”的含义229 6.2 保留操作码229 6.3 虚拟机错误230 6.4 指令描述格式230 6.5 指令集描述232 [0第0]7章 操作码助记符320 附录A Limited License Grant327 |
编辑推荐 |
Oracle官方发布,Java虚拟机技术创建人撰写,[0国0]内资深Java技术专家翻译 基于新Java SE 8,完整且准确地阐述Java虚拟机规范,是深度了解Java虚拟机和Java语言实现细节的必读之作 更多精彩,点击进入[0品0]牌店查阅>> |
Java虚拟机规范(Java SE 8版) 计算机与互联网 书籍|4706197 pdf epub mobi txt 电子书 下载