大小:4.28M
更新时间:23-09-12
系统:Pc
自己动手写java虚拟机是一本以实战模式描述JVM原理的书,由资深Java服务器开发工程师张秀宏编著,本书对JVM进行了大量研究,在书中深入浅出地分析了class文件的数据结构和JVM的基本原理,并使用Go语言用不到1万行的程序代码就实现了JVM的基本模型,是Java爱好者了解JVM实现原理的一本好书。实战才是最有效的掌握知识的手段,快快动手,实现属于自己的Java虚拟机吧!
《自己动手写java虚拟机》是继深入理解Java虚拟机之后的又一经典著作,它一方面遵循Java虚拟机规范,一方面又独辟蹊径,不仅能让Java虚拟机的学习变得更加简单和有趣,而且能让你对Java虚拟机的原理认识更深入和更深刻!
全书书摒弃了传统的以解读枯燥的Java虚拟机规范文档和分析繁琐的Java虚拟机源代码的方式来讲解Java虚拟机,取而代之的是,以实践的方式,引导读者如何从零开始构建和实现一个Java虚拟机,整个过程不仅能让读者做到对Java虚拟机知其然而且知其所以然,还能屏蔽大量不必要的繁琐细节,体会到实现过程中的成就感,让学习过程更加轻松、愉悦和高效。更重要的是,这种方式能引导读者更深入地认识和掌握Java虚拟机的工作原理。
全书一共分为11章,各章内容安排如下:
第1章:安装开发环境,讨论java命令,并编写一个类似Java的命令行程序。
第2章:讨论Java虚拟机如何搜索class文件,实现类路径。
第3章:讨论class文件结构,实现class文件解析。
第4章:讨论运行时数据区,实现线程私有的运行时数据区,包括线程、Java虚拟机栈、栈帧、操作数栈和局部变量表等。
第5章:讨论Java虚拟机指令集和解释器,实现解释器和150余条指令。
第6章:讨论类、对象以及线程共享的运行时数据区,实现类加载器、方法区以及部分引用类指令。
第7章:讨论方法调用和返回,实现方法调用和返回指令。
第8章:讨论数组和字符串,实现数组相关指令和字符串池。
第9章:讨论本地方法调用,实现Object.hashCode()等本地方法。
第10章:讨论异常处理机制,实现athrow指令。
第11章:讨论System类的初始化过程和System.out.println()的工作原理等,并对全书进行总结。
前言
第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
同类热门
类似软件
pdffactory pro破解版18.7M53195人在用我们都知道PDF文件格式在我们日常工作中还是比较常见的,而且现在越来越多的电子图书、产品说明、公司文告、网络资料、电子邮件在开始使用PDF格式文件,而今天小编带来的这款pdffactory pro也一样,这是一款无须Acrobat创建Adobe PDF文
查看深入java虚拟机第二版PDF(原书)18.53M258人在用热爱编程的朋友Java是门必修课,它是面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念。其中组成Java最核心的部分便是底层的虚拟机,本期小编将为你带来深入java虚拟机第二版pdf文件,带你了解Java体
查看tinypdf虚拟打印机971K447人在用tinypdf虚拟打印机是一款简单实用,功能强大的pdf虚拟打印机,完全免费,即装即用,该软件不依赖acrobat、ghostscript等程序,可以将任何文档生成高质量的pdf文档,是公司办公人员必备的好工具。同时该软件使用方式简单,用户一键安装在电脑
查看Antechinus JavaScript Editor(JS编辑工具)16.25M209人在用Antechinus JavaScript Editor是来自国外的一款方便实用,功能完善的JS编辑工具,它可以使你轻松快速的在网页中插入JavaScript代码的编辑器软件,它具有友好的用户界面、快捷的工具栏以及智能的语法填充功能。这个简单的JavaS
查看热门标签
网友评论0人参与,0条评论
最新排行
11g329-1/2/3图集12.01Mpdf高清完整版 11g329图集全套是一个包含了11g329-1、11g329-2和11g329-3的国家建筑标准设计图集,也是建筑物抗震构造详图的pdf高清完整版,由中国建筑标准设计研究院编制,中华人民共和国住房和城乡建设部发行,可以适用于多层和高层钢筋混凝土房
查看小家越住越大pdf电子版96.95M完整版中国的房子是全球房价最贵的,多少人因为房子的问题产生各种故事,就算买了房子,面积小,收纳就小,如何解决这个问题呢?这里小编带来了小家越住越大pdf,作者逯薇,万科住宅专家,从事住宅研发13年,绘制超过2000张户型图,参与过15万套以上精装修住宅设计。作
查看apache kylin权威指南15.22Mpdf高清版 Apache Kylin是个由中国人主导的Apache项目,apache kylin权威指南则是国内一本由该团队开发的原创图书,全书总共12章,介绍了Apache Kylin的历史、技术原理和产品定位,同时详细解读了Apache Kylin的核心概
查看自己动手写java虚拟机4.28M张秀宏pdf扫描版 自己动手写java虚拟机是一本以实战模式描述JVM原理的书,由资深Java服务器开发工程师张秀宏编著,本书对JVM进行了大量研究,在书中深入浅出地分析了class文件的数据结构和JVM的基本原理,并使用Go语言用不到1万行的程序代码就实现了JVM的
查看netty权威指南 第二版97.22M李林锋 pdf扫描版netty权威指南 第二版是一本Netty架构学习指南,由李林锋编著。本书深入剖析了Netty,更全面系统讲解底层架构、实践与源码,能够让读者更清晰地理解Netty 架构设计理念,第2版增加了MessagePack 编解码、服务端创建、客户端创建、高性能
查看精通JavaScript+jQuery:100%动态网页设计密码53.59Mpdf扫描版精通JavaScript+jQuery:100%动态网页设计密码是一本介绍JavaScript语言+jQuery框架实战开发指南,由龙马工作室编著。全书系统地讲解了使用JavaScript和jQuery进行动态网页设计的知识和技巧,对知识点进行精心安排,
查看Hadoop海量数据处理:技术详解与项目实战47.54M范东来pdf扫描版Hadoop海量数据处理:技术详解与项目实战是一本Hadoop数据处理技术指导手册,由范东来编著。本书主要介绍Hadoop技术的相关知识,不但详细介绍了Hadoop、MapReduce、HDFS、Hive和Sqoop,还深入探讨了Hadoop的运维和调优
查看游戏安全手游安全技术入门pdf50.56M游戏安全手游安全技术入门pdf是一本移动游戏安全开山之作,由腾讯游戏研发部游戏安全中心全体人员编著。本书是一本充斥着大量的专业术语和专业知识的书籍,具备了技术畅销书的各种品质,内容全面、精辟、流畅、成熟,讲解由浅入深,完美覆盖手游安全基础、外挂实现经验、
查看linux shell编程从初学到精通81.02M伍之昂pdf扫描版shell脚本编程成为一个优秀的linux开发者和系统管理员必须掌握的技术之一,但如何才能更好的常握呢?这里小编带来了linux shell编程从初学到精通,由华清远见嵌入式培训中心的伍之昂编著,全书内容丰富,覆盖了shell编程的大部分技术,并结合典型
查看asp.net mvc 4 web编程57.93Masp.net mvc 4 web编程是一本pdf高清扫描版的电子图书,是NET开发者学习MVC的必备圣典。由Jess cbadwick,todd snyder,hrusikesb panda著,徐雷,徐扬翻译。全书介绍介绍了微软最新的ASP.NET M
查看数据结构与算法分析c语言描述pdf高清版9.85M原书第二版数据结构与算法分析c语言描述(原书第二版)是一本是国外数据结构与算法分析方在的标准教材,由美国佛罗里达国际大学计算机学院教授MarkAllenWeiss编著。本书介绍了数据结构(大量数据的组织方法)以及算法分析(算法运行时间的估算),讨论数据结构和算法分
查看大巧不工Web前端设计修炼之道80.39MPDF中文版大巧不工Web前端设计修炼之道是一本PDF中文版的电子书籍,非常的实用,它全面探讨了web前端设计的方法、原则、技巧和最佳实践。全书共8章,以web前端设计的流程为主线,以前端设计的方法和原则为基础,围绕原型设计、模型设计、可用性设计、一致性设计和以用户
查看