想要了解Java虚拟机的内部运行原理,阅读虚拟机规范、书籍、源码是一种常见的途径,而从零开始自己动手编写一个实验室性质的Java虚拟机,也许会是一种更加有趣且有效的学习路径。如果不考虑Java庞大类库的实现和JVM的实际生产力需求,仅是去“正确地”实现一台Java虚拟机,其实并不如大多数人所想的那样高深和困难——只需正确读取Class文件中每一条字节码指令,并且能正确执行这些指令所蕴含的操作即可。通过本书,您可以跟随作者的思路和指引,一步步完成Java虚拟机的各个组成部分,在动手的过程中了解Java虚拟机的运作原理。
——周志明 《深入理解Java虚拟机:JVM高级特性与最佳实践》 作者
这是国内第一本以实战模式描述JVM原理的书!秀宏对JVM进行了大量研究,在书中深入浅出地分析了class文件的数据结构和JVM的基本原理,并使用Go语言用不到1万行的程序代码就实现了JVM的基本模型,是Java爱好者了解JVM实现原理的一本好书。实战才是最有效的掌握知识的手段,快快动手,实现属于自己的Java虚拟机吧!
——凌聪 乐元素CTO
JVM对大多数的Java开发人员来说(无论是初出茅庐的菜鸟还是工作多年的老手),可能仍是一个神秘、高深莫测的黑匣子。本书作者通过实践的方式,一步步带领大家饶有趣味地揭开JVM的神秘面纱,极大加深程序员对Java的理解,进而构建更加合理高效的代码。
——金智伟 钱咸升(北京)网络科技股份公司CTO
Lua被广泛应用于游戏开发,是一种非常简单有效的脚本语言,但国内深入讲解Lua虚拟机的书籍几乎没有。秀宏用扎实的技术能力,不仅对Lua从语法、数据结构到原理进行了深度的分析,还使用Go语言一步一步地教会读者还原一个Lua VM的实现过程。在区块链和DSL流行的当下,VM作为底层技术架构的重要性凸显,而这本书对于VM的开发来说是非常好的教材。赶紧阅读此书、下载代码、开始动手属于自己的VM吧!这个过程一定能让你受益匪浅!
——凌聪 乐元素CTO
Go语言诞生10年有余,日渐成熟。Go在云计算和区块连等领域成为事实上的首选语言,七牛云几乎所有基础设施都是使用Go语言构建的。《自己动手实现Lua》一本难得的Go语言实战的图书,通过它你将一步步学习和掌握如何用Go去构建一门商业成熟的语言。
——许式伟 七牛云创始人
脚本语言,从源代码到真正执行指定功能,到底经历了什么样的过程?你是不是探究过?编译原理教程很多,不过多以理论为主。本书以Lua语言为研究对象,以Go为实现工具,步步为营,带我们完整实现了Lua虚拟机、编译器和标准库,让读者能知其然,而且知其所以然。相信读完之后,一方面,你能对Lua背后的机制了如指掌,另一方面,再看其他脚本语言应该也不会感觉神秘了。说不定,你也能设计并实现一门自己的脚本语言。
——臧秀涛 InfoQ副总编
Lua是一种轻量小巧的脚本语言,非常非常适合超高性能的Web网关型服务、轻量级Web应用、Web页面渲染类应用等,搭建超高性能和并发服务。实际场景中,我们使用OpenResty和Lua语言构建过百亿级接口类服务和十亿级页面渲染类服务,且实现了复杂的业务逻辑,在用Lua实现时我们也踩了很多坑。本书教大家如何动手实现Lua语言,知其所以然,能让大家更好地使用Lua这把瑞士军刀解决更多场景的问题。市面上的Lua书籍本身就少,大家可以在学习Lua的过程中配合本书以达到更好的学习效果。
——张开涛 《亿级流量网站架构》作者