大小: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
应用信息
同类热门
类似软件
深入java虚拟机第二版PDF(原书)18.53M298人在用 热爱编程的朋友Java是门必修课,它是面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念。其中组成Java最核心的部分便是底层的虚拟机,本期小编将为你带来深入java虚拟机第二版pdf文件,带你了解Ja
查看
Antechinus JavaScript Editor(JS编辑工具)16.25M277人在用 Antechinus JavaScript Editor是来自国外的一款方便实用,功能完善的JS编辑工具,它可以使你轻松快速的在网页中插入JavaScript代码的编辑器软件,它具有友好的用户界面、快捷的工具栏以及智能的语法填充功能。这个简单的Ja
查看
sun java虚拟机(jvm)14.2M1627人在用 JVM:Java Virtual Mechinal(JAVA虚拟机)。JVM是JRE的一部分,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统
查看热门标签
网友评论0人参与,0条评论
最新排行
建筑施工计算手册第五版174.2Mpdf中文完整版 建筑施工计算手册是一本pdf中文完整版的高清电子书籍,由江正荣编著,包括了建筑施工计算手册第五版和建筑施工计算手册完整版,其中完整版全书共22章,详细的讲述了土方,爆破,支护,排降水,地基与基础,砌体与墙体,脚手架,模板,钢筋,混凝土,大体积混凝土
查看
ASP.NET开发实例大全(提高卷)301.3Mpdf扫描版 ASP.NET开发实例大全(提高卷)是一本Asp动态网页开发技术的指南用书,由软件技术联盟编著。全书是《asp.net开发实战1200例》之全新升级版本,详细的介绍了ASP.NET开发从基础知识到高级应用各个层面的实例及源代码,内容丰富翔实,内含1
查看
汇编语言第三版王爽pdf63.01M高清电子书汇编语言是我国计算机科学教育领域的一部重要的经典著作,深受业内专家,高校教师,广大学生的喜欢,为此小编带来了汇编语言王爽第三版pdf,这是汇编语言发布的第三版,该版本很好的把握了教与学的关系,全书通谷易懂,高屋建翎,实践与理论相结合,能够帮助学生更好的掌
查看
21天学通python电子版43.51M刘凌霞pdf扫描版 21天学通Python是一本极具影响力原创计算机编程系列图书,由刘凌霞,郝宁波和吴海涛三人共同编著,本书为了让读者更快地上手,特别设计了适合初学者的学习方式,用准确的语言总结概念、用直观的图示演示过程、用详细的注释解释代码、用形象的比方帮助记忆。全
查看
31天学会crm项目开发79.97M代前杰pdf扫描版 31天学会crm项目开发是一套CRM项目系统实战手册,由国内企业IT专家代前杰编著。本书内容丰富翔实,是一本很有特色的程序员入门参考用书。全书以企业管理信息系统建设为主题,以客户关系管理系统(CRM)为开发实战项目,使用C#程序语言,从需求分析、方
查看
python入门经典教材45.5M中文完整版 python是诞生于一种开放源代码的脚本编程语言,语言风格清晰,具有较强的可读性,应用非常广泛。可对于部分新手程序员来讲,想要灵活运用python必须拥有一套秘籍,而小编今天分享的“python入门经典”就是非常优秀的秘籍,通过该书读者不仅能掌握p
查看
ios应用逆向工程 第2版16.48M沙梓社pdf扫描版 ios应用逆向工程第2版是全球首本讲解iOS8应用逆向工程的实战手册,作者沙梓社,吴航编著。本书内容丰富翔实,作者毫无保留地分享了数年来在IOS逆向工程领域的经验。全书内容系统深入,逻辑紧密,实战性强,从iOS系统架构等理论出发,以多个实例贯穿全书
查看
互联网创业核心技术:构建可伸缩的Web应用110.41M阿特.艾斯蒙特pdf扫描版 互联网创业核心技术:构建可伸缩的Web应用是一本web应用开始手册,由美国软件工程师Artur Ejsmont编著。本书作者深入阐述了设计原则、前端层、Web服务、数据存储层、缓存、异步处理等核心概念与技术,针对可能发生的问题一一剖析,为读者勾勒出
查看
高性能mysql第3版中文版pdf70.65M高性能mysql第3版是mysql领域的经典之作,由baron scbwartz、peter zaitsev、vadim tkacbenko著作,宁海元、周振、彭立勋、翟卫祥等翻译。第3版更新了大量的内容,不但涵盖了最新mysql5.5版本的新特性,也讲
查看