Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

WebAssembly原理与核心技术 PDF 下载


分享到:
时间:2022-06-18 08:54来源:http://www.java1234.com 作者:转载  侵权举报
WebAssembly是栈式虚拟机和字节码技术的*应用,在Web开发、后端开发、区块链等领域大显身手,越来越受欢迎。 本书是WebAssembly入门和进阶的书,它不仅对WebAssembly的工作原理、核心技
失效链接处理
WebAssembly原理与核心技术  PDF 下载


下载地址:
版权归出版社和原作者所有,链接已删除,请购买正版

用户下载说明:

电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/29140586.html
 

相关截图:



资料简介:
WebAssembly是栈式虚拟机和字节码技术的*应用,在Web开发、后端开发、区块链等领域大显身手,越来越受欢迎。
 
本书是WebAssembly入门和进阶的书,它不仅对WebAssembly的工作原理、核心技术和规范进行了全面的剖析和解读,而且给出了实现WebAssembly解释器和AOT编译器的思路和代码。
 
本书共14章,分为四个部分:
 
第1部分 WebAssembly概述(第1章)
 主要介绍了WebAssembly的概念、发展历史以及阅读本书需要做的准备工作。
 
第2部分 二进制和文本格式(第2~4章)
 详细讲解了WebAssembly的二进制格式、文本格式以及指令集。
 
第3部分 虚拟机和解释器(第5~11章)
 详细讲解了WebAssembly的解释器和虚拟机的工作原理以及实现思路,包括操作数栈、内存、函数调用、控制指令、链接和实例化、错误处理和验证等。
 
第4部分 WebAssembly进阶(第12~14章)
 深入地讲解了AOT编译器的实现思路和WebAssembly的提案等内容。
 通过阅读本书,读者不仅可以理解WebAssembly核心原理,还可以学习如何实现WebAssembly解释器和AOT编译器。即收获了“鱼”,又学会了“渔”。

资料目录:
部分 概述】
 
第1章  Wasm介绍 3
1.1 Wasm简史 3
 
1.2 Wasm简介 6
 
1.3 准备工作 10
 
1.4 你好Wasm 11
 
1.5 本章小结 13
 
 
 
【第二部分 二进制和文本格式】
 
第2章 二进制格式 17
2.1 二进制格式介绍 17
 
2.1.1 Wasm二进制格式总体结构 18
 
2.1.2 索引空间 21
 
2.1.3 实体类型 23
 
2.2 二进制格式分析 25
 
2.2.0 魔数和版本号 25
 
2.2.1 类型段 26
 
2.2.2 导入段 28
 
2.2.3 函数段 30
 
2.2.4 表段 30
 
2.2.5 内存段 31
 
2.2.6 全局段 32
 
2.2.7 导出段 33
 
2.2.8 起始段 34
 
2.2.9 元素段 35
 
2.2.10 代码段 35
 
2.2.11 数据段 37
 
2.2.12 自定义段 38
 
2.3 二进制格式解码 39
 
2.3.1 LEB128介绍 39
 
2.3.2 解码基本类型 41
 
2.3.3 解码向量类型 44
 
2.3.4 处理tag 44
 
2.3.5 解码代码项和表达式 45
 
2.3.6 解码整体结构 45
 
2.3.7 处理错误情况 47
 
2.4 实现dump命令 48
 
2.5 本章小结 50
 
 
 
第3章 指令集 51
3.1 指令集介绍 51
 
3.1.1 操作码 51
 
3.1.2 助记符 53
 
3.1.3 立即数 54
 
3.1.4 操作数 57
 
3.2 指令分析 58
 
3.2.1 数值指令 58
 
3.2.2 变量指令 60
 
3.2.3 内存指令 61
 
3.2.4 结构化控制指令 62
 
3.2.5 跳转指令 64
 
3.2.6 函数调用指令 65
 
3.3 指令解码 66
 
3.4 完善dump命令 69
 
3.5 本章小结 70
 
 
 
第4章 文本格式 71
4.1 基本结构 71
 
4.1.1 类型域 72
 
4.1.2 导入和导出域 73
 
4.1.3 函数域 75
 
4.1.4 表域和元素域 75
 
4.1.5 内存域和数据域 76
 
4.1.6 全局域 77
 
4.1.7 起始域 77
 
4.2 指令 78
 
4.2.1 普通形式 78
 
4.2.2 折叠形式 79
 
4.3 本章小结 81
 
 
 
【第三部分 虚拟机和解释器】
 
第5章 操作数栈 85
5.1 操作数栈 85
 
5.2 虚拟机 87
 
5.2.1 指令循环 88
 
5.2.2 指令分派 88
 
5.3 参数指令 89
 
5.3.1 drop指令 90
 
5.3.2 select指令 90
 
5.4 数值指令 91
 
5.4.1 常量指令 92
 
5.4.2 测试指令 92
 
5.4.3 比较指令 93
 
5.4.4 一元算术指令 95
 
5.4.5 二元算术指令 96
 
5.4.6 类型转换指令 99
 
5.5 本章效果 103
 
5.6 本章小结 105
 
 
 
第6章 内存 107
6.1 内存介绍 107
 
6.2 内存实现 108
 
6.3 内存指令 109
 
6.3.1 size和grow指令 110
 
6.3.2 加载指令 111
 
6.3.3 存储指令 113
 
6.4 本章效果 115
 
6.5 本章小结 117
 
 
 
第7章 函数调用(上) 119
7.1 函数调用介绍 119
 
7.2 函数调用实现 122
 
7.2.1 增强操作数栈 123
 
7.2.2 添加调用栈 124
 
7.2.3 增强虚拟机 126
 
7.2.4 call指令 127
 
7.3 局部变量指令 129
 
7.3.1 local.get指令 130
 
7.3.2 local.set指令 130
 
7.3.3 local.tee指令 131
 
7.4 全局变量指令 132
 
7.4.1 global.get指令 132
 
7.4.2 global.set指令 133
 
7.5 本章效果 134
 
7.6 本章小结 135
 
 
 
第8章 控制指令 137
8.1 控制指令介绍 137
 
8.1.1 跳转标签 138
 
8.1.2 跳转标签索引 139
 
8.1.3 块类型 141
 
8.2 控制指令实现 142
 
8.2.1 block和loop指令 142
 
8.2.2 if指令 144
 
8.2.3 br指令 146
 
8.2.4 br_if指令 148
 
8.2.5 br_table指令 149
 
8.2.6 return指令 150
 
8.2.7 unreachable和nop指令 151
 
8.3 本章效果 152
 
8.4 本章小结 153
 
 
 
第9章 函数调用(下) 155
9.1 本地函数调用 155
 
9.1.1 本地函数介绍 155
 
9.1.2 统一两种函数 158
 
9.1.3 调用本地函数 159
 
9.1.4 链接本地函数 161
 
9.1.5 测试本节代码 162
 
9.2 间接函数调用 163
 
9.2.1 间接函数调用介绍 163
 
9.2.2 实现表 165
 
9.2.3 初始化表 166
 
9.2.4 call_indirect指令 167
 
9.2.5 测试本节代码 168
 
9.3 本章小结 169
 
 
 
第10章 链接和实例化 171
10.1 定义实例接口 171
 
10.2 实现实例接口 174
 
10.2.1 函数 174
 
10.2.2 表 176
 
10.2.3 全局变量 177
 
10.2.4 虚拟机 177
 
10.3 实例化模块 178
 
10.4 本章效果 180
 
10.5 本章小结 183
 
 
 
第11章 错误处理和验证 185
11.1 各种错误 186
 
11.1.1 解码错误 186
 
11.1.2 结构错误 188
 
11.1.3 实例化错误 189
 
11.1.4 运行时错误 190
 
11.2 验证整体结构 190
 
11.3 验证函数字节码 192
 
11.3.1 数据结构 193
 
11.3.2 操作数栈 194
 
11.3.3 控制栈 195
 
11.3.4 验证指令 197
 
11.4 本章效果 198
 
11.5 本章小结 199
 
 
 
【第四部分 进阶】
 
第12章 编译为Wasm 203
12.1 控制指令 203
 
12.2 参数指令 207
 
12.3 变量指令 208
 
12.4 内存指令 210
 
12.5 数值指令 213
 
12.6 本章小结 215
 
 
 
第13章 AOT编译器 217
13.1 AOT介绍 217
 
13.2 编译模块 219
 
13.3 编译函数 220
 
13.3.1 内部函数 221
 
13.3.2 外部函数 222
 
13.3.3 导出函数 222
 
13.3.4 辅助方法 223
 
13.4 编译指令 224
 
13.4.1 参数指令 224
 
13.4.2 变量指令 225
 
13.4.3 内存指令 226
 
13.4.4 数值指令 227
 
13.4.5 结构化控制指令 228
 
13.4.6 跳转指令 230
 
13.4.7 函数调用指令 231
 
13.5 本章效果 233
 
13.6 本章小结 234
 
 
 
第14章 提案和前景 235
14.1 提案 235
 
14.1.1 多块内存 237
 
14.1.2 内存块操作 237
 
14.1.3 引用类型 239
 
14.1.4 尾递归调用 241
 
14.1.5 异常处理 242
 
14.1.6 多线程支持 244
 
14.1.7 其他提案 247
 
14.2 前景 248
 
附录A Wasm指令表 249
 
附录B 二进制格式 253
 
附录C WAT语法 255 
 
------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐