《自己动手写Java虚拟机》

《自己动手写Java虚拟机》 《自己动手写Java虚拟机》

  • 书名:《自己动手写Java虚拟机》
  • 分类:编程
  • 作者:张秀宏
  • 出版社:机械工业出版社
  • 出版年:2016-6-1
  • 售价:69.00元
  • 装订:平装
  • 页码:267

《自己动手写Java虚拟机》 内容介绍:

Java虚拟机非常复杂,要想真正理解它的工作原理,最好的方式就是自己动手编写一个! 本书是继《深入理解Java虚拟机》之后的又一经典著作,它一方面遵循《Java虚拟机规范》,一方面又独辟蹊径,不仅能让Java虚拟机的学习变得更加简单和有趣,而且能让你对Java虚拟机的原理认识更深入和更深刻! 本书摒弃了传统的以解读枯燥的Java虚拟机规范文档和分析繁琐的Java虚拟机源代码的方式来讲解Java虚拟机,取而代之的是,以实践的方式,引导读者如何从零开始构建和实现一个Java虚拟机,整个过程不仅能让读者做到对Java虚拟机知其然而且知其所以然,还能屏蔽大量不必要的繁琐细节,体会到实现过程中的成就感,让学习过程更加轻松、愉悦和高效。更重要的是,这种方式能引导读者更深入地认识和掌握Java虚拟机的工作原理。

作者张秀宏介绍:

张秀宏,资深Java服务器开发工程师,有多年的Java开发、游戏服务器开发和架构经验,对Java虚拟机有非常深入的研究。曾在EA、华娱无线等游戏公司担任高级服务器工程师职位,现任乐元素Lead软件工程师。

《自己动手写Java虚拟机》 目录大纲:

前言
第1章 命令行工具 1
1.1 准备工作 1
1.2 java命令 4
1.3 编写命令行工具 5
1.4 测试本章代码 7
1.5 本章小结 8
第2章 搜索class文件 9
2.1 类路径 9
2.2 准备工作 10
2.3 实现类路径 11
2.4 测试本章代码 20
2.5 本章小结 21
第3章 解析class文件 23
3.1 class文件 24
3.2 解析class文件 25
3.3 解析常量池 35
3.4 解析属性表 50
3.5 测试本章代码 61
3.6 本章小结 63
第4章 运行时数据区 65
4.1 运行时数据区概述 66
4.2 数据类型 67
4.3 实现运行时数据区 68
4.4 测试本章代码 81
4.5 本章小结 83
第5章 指令集和解释器 85
5.1 字节码和指令集 86
5.2 指令和指令解码 88
5.2.1 Instruction接口 89
5.2.2 BytecodeReader 91
5.3 常量指令 92
5.3.1 nop指令 92
5.3.2 const系列指令 93
5.3.3 bipush和sipush指令 94
5.4 加载指令 94
5.5 存储指令 95
5.6 栈指令 96
5.6.1 pop和pop2指令 96
5.6.2 dup指令 97
5.6.3 swap指令 98
5.7 数学指令 98
5.7.1 算术指令 98
5.7.2 位移指令 99
5.7.3 布尔运算指令 101
5.7.4 iinc指令 102
5.8 类型转换指令 102
5.9 比较指令 103
5.10 控制指令 108
5.11 扩展指令 111
5.12 解释器 114
5.13 测试本章代码 118
5.14 本章小结 120
第6章 类和对象 121
6.1 方法区 122
6.2 运行时常量池 127
6.3 类加载器 133
6.4 对象、实例变量和类变量 136
6.5 类和字段符号引用解析 141
6.6 类和对象相关指令 144
6.7 测试本章代码 156
6.8 本章小结 160
第7章 方法调用和返回 161
7.1 方法调用概述 161
7.2 解析方法符号引用 163
7.3 方法调用和参数传递 166
7.4 返回指令 169
7.5 方法调用指令 170
7.6 改进解释器 176
7.7 测试方法调用 178
7.8 类初始化 181
7.9 本章小结 185
第8章 数组和字符串 187
8.1 数组概述 187
8.2 数组实现 188
8.3 数组相关指令 191
8.4 测试数组 203
8.5 字符串 204
8.6 测试字符串 207
8.7 本章小结 210
第9章 本地方法调用 211
9.1 注册和查找本地方法 212
9.2 调用本地方法 213
9.3 反射 215
9.4 字符串拼接和String.intern()方法 225
9.5 Object.hashCode()、equals()和toString() 231
9.6 Object.clone() 233
9.7 自动装箱和拆箱 235
9.8 本章小结 238
第10章 异常处理 239
10.1 异常处理概述 239
10.2 异常抛出 240
10.3 异常处理表 241
10.4 实现athrow指令 245
10.5 Java虚拟机栈信息 248
10.6 测试本章代码 251
10.7 本章小结 252
第11章 结束 253
11.1 System类是如何被初始化的 253
11.2 初始化System类 255
11.3 System.out.println()是如何工作的 258
11.4 测试本章代码 260
11.5 总结 260
附录 指令表 263


微信扫一扫关注公众号

0 个评论

要评论图书请先登录注册

你也许想看:

C++ Design Patterns and Derivatives Pricing

《C++ Design Patterns and Derivatives Pricing》

Mark S. Joshi.Cambridge University Press.2004-9-6

“”

Java并发编程

《Java并发编程》

(美)Doug Lea.中国电力出版社.2004-2-1

“本书全面介绍了如何使用Java 2平台进行并发编程,较上一版新增和扩展的内容包括: ·存储模型 ·取消 ·可移植的并行编...”

Pro OpenGL ES for Android

《Pro OpenGL ES for Android》

Mike Smithwick,Mayank Verma.Apress.2012-1-25

“In Pro OpenGL ES for Android, you'll find out how to harness...”

iOS Development using MonoTouch Cookbook

《iOS Development using MonoTouch Cookbook》

Dimitris Tavlikos.Packt Publishing.2011-12-14

“”

Professional Android 2 Application Development

《Professional Android 2 Application Development》

Reto Meier.Wrox.2010-3-1

“《Android 2高级编程(第2版)》述如何有效利用android 2的功能来改进当前产品或创建新产品。《Androi...”

Steps in Scala

《Steps in Scala》

Christos K. K. Loverdos,Apostolos Syropoulos.Cambridge University Press.2010-11-8

“Scala is a highly expressive, concise and scalable language....”

Fortran 95/2003 for Scientists and Engineers

《Fortran 95/2003 for Scientists and Engineers》

Stephen Chapman.McGraw-Hill Science/Engineering/Math.2007-4-6

“Chapman's "Fortran for Scientists and Engineers" is intended...”

Rapid GUI Programming with Python and Qt

《Rapid GUI Programming with Python and Qt》

Mark Summerfield.Prentice Hall.2007-10-18

“The Insider's Best-Practice Guide to Rapid PyQt 4 GUI Develo...”

Big Data

《Big Data》

Nathan Marz,James Warren.Manning Publications.2015-5-10

“Services like social networks, web analytics, and intelligen...”

Android开发艺术探索

《Android开发艺术探索》

任玉刚.电子工业出版社.2015-9-1

“《Android开发艺术探索》是一本Android进阶类书籍,采用理论、源码和实践相结合的方式来阐述高水准的Androi...”

逆向工程实战

《逆向工程实战》

[美] Bruce Dang,[法] Alexandre Gazet,[美] Elias Bachaalany,[法] Sébastien Josse.人民邮电出版社.2015-8

“本书是一本涵盖x86、x64和ARM操作系统的逆向工程类图书,由浅入深地讲解了包括Windows内核模式代码的恶意软件和...”

Beginning Game Development with Python and Pygame

《Beginning Game Development with Python and Pygame》

Will McGugan.Apress.August 20, 2007

“Like music and movies, video games are rapidly becoming an i...”

J2EE设计开发编程指南

《J2EE设计开发编程指南》

Rod Johnson.电子工业出版社.2003-7-1

“J2EE是当今可用于企业软件开发的最佳平台。本书的目标是让读者能够轻松自如地制定J2EE开发的体系结构决策与实现决策。内...”

跟老齐学Python

《跟老齐学Python》

齐伟 编著.电子工业出版社.2016-2

“《跟老齐学Python:从入门到精通》是面向编程零基础读者的Python入门教程,内容涵盖了Python的基础知识和初步...”

Programming WCF Services

《Programming WCF Services》

Juval Lowy.O'Reilly Media.August 2010

“Programming WCF Services is the authoritative, bestselling g...”

3D游戏编程大师技巧

《3D游戏编程大师技巧》

[美] 拉莫泽.人民邮电出版社.2005-6

“《3D 游戏编程大师技巧》是游戏编程畅销书作者André LaMothe的扛鼎之作,从游戏编程和软件引擎的角度深入探讨了...”

Foundations of Qt Development

《Foundations of Qt Development》

Johan Thelin.Apress.2007-8-22

“”

ACE程序员指南

《ACE程序员指南》

[美] Stephen D. Huston,James CE Johnson,Umar Syyid.中国电力出版社.2004-11

“本书由ACE的几位核心开发者撰写,快速而直接地解释了怎样充分利用ACE。从介绍ACE开始,循序渐进,详细讨论了ACE的I...”

SharePoint 2013 开发入门经典

《SharePoint 2013 开发入门经典》

Steve Fox,Chris Johnson,Donovan Follette.清华大学出版社.2014-9-1

“作为功能丰富的开发平台,SharePoint 2013相对以往版本有更进一步的增强。对于初学者,本书是开始体验Share...”

Python Pocket Reference

《Python Pocket Reference》

Mark Lutz.O'Reilly Media.2009-10-15

“This fourth edition of "Python Pocket Reference" has been th...”