• Java虚拟机规范(Java SE 7版)
21年品牌 40万+商家 超1.5亿件商品

Java虚拟机规范(Java SE 7版)

正版二手书,欢迎选购

16.09 2.3折 69 九品

库存3件

北京朝阳
认证卖家担保交易快速发货售后保障

作者Tim Lindholm|Frank Yellin|Gilad Bracha|Alex Buckley

出版社机械工业出版社

ISBN9787111445159

出版时间2014-01

装帧平装

开本16开

定价69元

货号972072969977839623

上书时间2024-11-22

宏铭图书店

十二年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:九品
商品描述
前言
  本书整合了自1999年《Java虚拟机规范(第2版)》发布以来Java世界所出现的技术变化。另外,还修正了第2版中的许多错误,以及对目前主流Java虚拟机实现来说已经过时的内容。最后还处理了一些Java虚拟机和Java语言概念的模糊之处。

  针对本书,读者有任何勘误或模糊之处,均可发邮件到jvms-comments-ww@oracle.com。

  2004年发布的Java SE 5.0版为Java语言带来了翻天覆地的变化,但是对Java虚拟机设计的影响则相对较小。在Java SE 7这个版本中,我们扩充了class文件格式以便支持新的Java语言特性,譬如泛型和变长参数方法等。

  2006年发布的Java SE 6.0版看起来并没有为Java语言带来什么新的变化,但是对Java虚拟机的影响就比较大。如新的字节码验证方式,它源于Eva Rose的一篇硕士论文,文中以Java Card平台为背景,展示了Java虚拟机字节码验证的另一种全新的实现思路。这促进了Java ME CLDC第1版实现的诞生,并最终成为Java SE平台class验证过程的理论基础。关于这部分内容将会在第4章中介绍。

  Sheng Liang实现了Java ME CLDC的验证器。Gilad Bracha负责对该验证器做出详细说明,Antero Taivalsaari则是整个Java ME CLDC规范的负责人。Alessandro Coglio在字节码验证的分析方面的工作对本规范做出了很大的贡献。Wei Tao、Frank Yellin、TimLindholm与Gilad Bracha一起实现的Prolog验证器是Java ME和Java SE平台规范的共同基础。Wei Tao后续继续实现了实际运用于Hot Spot Java虚拟机的验证器。之后Mingyao Yang改进了规范和设计,形成了Java SE 6中的最终实现版本。该规范成文得益于以下JSR 202专家组成员:Peter Burka、Alessandro Coglio、Sanghoon Jin、Christian Kemper、Larry Rau、EvaRose以及 Mark Stolz。

  在2011年发布的Java SE 7平台终于兑现了在1997年《Java虚拟机规范》第1版中就已做出的承诺:“在未来,我们会对Java虚拟机进行适当扩展,以便更好地支持其他语言运行于JVM之上。”Gilad Bracha的工作是开发Java虚拟机中的热替换(hotswapping)功能,以及在Java虚拟机静态类型系统上支持动态类型语言实现。invokedynamic指令以及支持这个指令的基础架构由John Rose以及JSR 292专家组成员:Ola Bini、 Rémi Forax、Dan Heidinga、Fredrik ?hrstr?m、JochenTheodorou进行开发。还有Charlie Nutter和Christian Thalinger做出了特别贡献。

  还有许多人的名字应当出现在这里,他们在不同时间段对Java虚拟机的设计和实现做出过贡献。我们今天所见的Java虚拟机拥有卓越的执行性能,这离不开DavidUngar和他的同事们在Sun实验室Self项目中所积累的技术基础。这些技术最初用于Self语言,后来形成了Animorphic Smalltalk虚拟机,经过长期而曲折的发展,最终成为今天Oracle HotSpot JVM的技术基础。Lars Bak和Urs H?lzle经历了所有上述的技术发展阶段,对于今天的Java虚拟机能够拥有大家认为理所当然的高效执行性能,他们实在是居功至伟。

  本规范中很多意义深远的改进来自于Martin Buchholz、Brian Goetz、Paul Hohensee、David Holmes、Karen Kinnear、Keith McGuigan、Jeff Nisewanger、 Mark Reinhold、Naoto Sato、BillPugh、Uday Dhanikonda、Janet Koenig、AdamMessinger、John Pampuch、Georges Saab和Bernard Traversat所作出的贡献。Jon Courtney和Roger Riggs帮助我们保证此规范的内容可同时适用于Java ME和Java SE平台。Leonid Arbouzov、Stanislav Avzan、Yuri Gaevsky、Ilya Mukhin、Sergey Reznick和Kirill Shirokov在Java技术兼容包(JavaCompatibility Kit,JCK)上作出了卓越贡献,以保证本规范中描述的内容是可测试并且已测试的。

  Gilad Bracha

  Los Altos,California

  Alex Buckley

  Santa Clara,California

alt="" />

导语摘要
 《Java虚拟机规范(JavaSE7版)》由林德霍尔姆著,本书完整而准确地阐释了Java虚拟机各方面的细节,围绕.Java虚拟机整体架构、编译器、class文件格式、加载、链接与初始化、指令集等核心主题对Java虚拟机进行全面而深入的分析,深刻揭示Java虚拟机的工作原理。同时,基于最新JavaSE7平台,它详细介绍了JavaSE7中新加入的lnvokeDynamic指令和方法句柄机制,给出了在JavaSE6期间引入的类型检查检验器的原理证明。本书还介绍了JavaSE5中对class文件格式的扩展变动,例如泛型和注解等。另外还介绍了Java内存模型的指令操作和初始化规则。

作者简介
  Tim Lindholm,资深Java虚拟机高级架构师,Java编程语言的主要贡献者之一,Sun公司杰出工程师,目前主要负责移动设备上的Java应用。在到Sun公司工作之前,他已经在美国阿贡国家实验室和Quintus公司从事与虚拟机和运行时系统相关的工作。

  Frank Yellin,Sun公司高级工程师,Java项目元老级成员。最近十余年中,他都从事解释型及编译型语言的运行时系统方面的工作。在到Sun公司工作之前,他在Lucid公司从事Common Lisp编译器相关的工作。

  Gilad Bracha,Newspeak编程语言的创建者,Sun公司杰出工程师。在到Sun公司工作之前,他在Animorphic Smalltalk System公司从事Strongtalk语言相关的工作。

  Alex Buckley,Oracle公司Java编程语言和Java虚拟机规范负责人。

目录
译者序

前言

第2版前言

第1版前言

第1章 引言

1.1 简史

1.2 Java虚拟机

1.3 各章节摘要

1.4 说明

第2章 Java虚拟机结构

2.1 class文件格式

2.2 数据类型

2.3 原始类型与值

2.3.1 整数类型与整型值

2.3.2 浮点类型、取值集合及浮点值

2.3.3 returnAddress类型和值

2.3.4 boolean类型

2.4 引用类型与值

2.5 运行时数据区

2.5.1 pc寄存器

2.5.2 Java虚拟机栈

2.5.3 Java堆

2.5.4 方法区

2.5.5 运行时常量池

2.5.6 本地方法栈

2.6 栈帧

2.6.1 局部变量表

2.6.2 操作数栈

2.6.3 动态链接

2.6.4 方法正常调用完成

2.6.5 方法异常调用完成

2.7 对象的表示

2.8 浮点算法

2.8.1 Java虚拟机和IEEE 754中的浮点算法

2.8.2 浮点模式

2.8.3 数值集合转换

2.9 特殊方法

2.10 异常

2.11 字节码指令集简介

2.11.1 数据类型与Java虚拟机

2.11.2 加载和存储指令

2.11.3 算术指令

2.11.4 类型转换指令

2.11.5 对象创建与操作

2.11.6 操作数栈管理指令

2.11.7 控制转移指令

2.11.8 方法调用和返回指令

2.11.9 抛出异常

2.11.10 同步

2.12 类库

2.13 公有设计,私有实现

第3章 Java虚拟机编译器

3.1 示例的格式说明

3.2 常量、局部变量和控制结构的使用

3.3 算术运算

3.4 访问运行时常量池

3.5 更多控制结构示例

3.6 接收参数

3.7 方法调用

3.8 使用类实例

3.9 数组

3.10 编译switch语句

3.11 使用操作数栈

3.12 抛出异常和处理异常

3.13 编译finally语句块

3.14 同步

3.15 注解

第4章 class文件格式

4.1 ClassFile结构

4.2 各种内部表示名称

4.2.1 类和接口的二进制名称

4.2.2 非全限定名

4.3 描述符和签名

4.3.1 语法符号

4.3.2 字段描述符

4.3.3 方法描述符

4.3.4 签名

4.4 常量池

4.4.1 CONSTANT_Class_info结构

4.4.2 CONSTANT_Fieldref_info、CONSTANT_Methodref_info和CONSTANT_Interface Methodref_info结构

4.4.3 CONSTANT_String_info结构

4.4.4 CONSTANT_Integer_info和CONSTANT_Float_info结构

4.4.5 CONSTANT_Long_info和CONSTANT_Double_info结构

4.4.6 CONSTANT_NameAndType_info结构

4.4.7 CONSTANT_Utf8_info结构

4.4.8 CONSTANT_MethodHandle_info结构

4.4.9 CONSTANT_MethodType_info结构

4.4.10 CONSTANT_InvokeDynamic_info结构

4.5 字段

4.6 方法

4.7 属性

4.7.1 自定义和命名新的属性

4.7.2 ConstantValue属性

4.7.3 Code属性

4.7.4 StackMapTable属性

4.7.5 Exceptions属性

4.7.6 InnerClasses属性

4.7.7 EnclosingMethod属性

4.7.8 Synthetic属性

4.7.9 Signature属性

4.7.10 SourceFile属性

4.7.11 SourceDebugExtension属性

4.7.12 LineNumberTable属性

4.7.13 LocalVariableTable属性

4.7.14 LocalVariableTypeTable属性

4.7.15 Deprecated属性

4.7.16 RuntimeVisibleAnnotations属性

4.7.17 RuntimeInvisible Annotations属性

4.7.18 RuntimeVisibleParameter Annotations属性

4.7.19 RuntimeInvisibleParameter Annotations属性

4.7.20 AnnotationDefault属性

4.7.21 BootstrapMethods属性

4.8 格式检查

4.9 Java虚拟机代码约束

4.9.1 静态约束

4.9.2 结构化约束

4.10 class文件校验

4.10.1 类型检查验证

4.10.2 类型推导验证

4.11 Java虚拟机限制

第5章 加载、链接与初始化

5.1 运行时常量池

5.2 虚拟机启动

5.3 创建和加载

5.3.1 使用引导类加载器来加载类型

5.3.2 使用用户自定义类加载器来加载类型

5.3.3 创建数组类

5.3.4 加载限制

5.3.5 从class文件表示得到类

5.4 链接

5.4.1 验证

5.4.2 准备

5.4.3 解析

5.4.4 访问控制

5.4.5 方法覆盖

5.5 初始化

5.6 绑定本地方法实现

5.7 Java虚拟机退出

第6章 Java虚拟机指令集

6.1 设定:“必须”的含义

6.2 保留操作码

6.3 虚拟机错误

6.4 指令描述格式

6.5 指令集描述

第7章 操作码助记符

附录A Limited License Grant

内容摘要
  《Java虚拟机规范(Java SE 7版)》是Java领域重要著作之一,由Oracle官方发布,基于Java SE 7,对新的Java虚拟机规范进行了完整且详细的讲解,是深度了解Java虚拟机实现细节的必读之作。由国内几位资深的Java技术专家联袂翻译。

  《Java虚拟机规范(Java SE 7版)》共7章,第1章从宏观的角度介绍了Java虚拟机与Java的关系与发展历程。第2章概览了Java虚拟机整体架构,包括class文件格式、数据类型、原始类型、引用类型、运行时数据区、栈帧、浮点算法、异常等,这对理解本书后面的内容有重要帮助。第3章详述如何将Java语言编写的程序转换为Java虚拟机指令集,涉及常量、局部变量、控制结构、算术运算、参数接收、方法调用、数组、操作数栈异常处理、同步与注解等。第4章深入分析了用来表示编译后的类和接口的class文件格式,主要包括ClassFile结构、描述符与签名、常量池、字段、方法、属性、代码约束与class文件校验等。第5章定义了Java虚拟机启动以及类和接口的加载、链接和初始化过程。第6章阐释并列举了Java虚拟机指令集。第7章提供了一张以操作码值为索引的Java虚拟机操作码助记符表。

主编推荐
  

  Oracle官方发布,Oracle资深专家撰写,国内资深Java技术专家翻译

 

  基于新Java SE 7,完整且准确地阐述Java虚拟机规范,是深度了解Java虚拟机和Java语言实现细节的必读之作



—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP