在当今的计算系统中,虚拟机已经变得无处不在--从物联网节点到移动电话、个人计算机,再到云平台。因其所能赋予软件的一些重要属性,如安全性、高生产率和可移植性,虚拟机一直吸引着软件研究人员和开发者的兴趣和关注。
本书旨在通过循序渐进、通俗易懂的方式讲解虚拟机的通用技术,主要以JVM设计为例,并兼顾其他虚拟机。本书还包括一些同类文献中较少涉及的主题,例如运行时辅助、栈展开和本地接口。本书是虚拟机设计和工程实践方面的理想参考读物,读者若掌握书中的知识点,便能为任意一种语言虚拟机的设计开发打下坚实的基础。
● 虚拟机基础:类型、内部组成、数据结构
● 虚拟机设计:执行引擎设计、垃圾回收设计、线程设计
● 虚拟机内部支持:本地接口、栈展开、垃圾回收支持、运行时辅助,等等
● 垃圾回收(GC)优化:针对吞吐量的GC优化、针对可扩展性的GC优化、针对响应性的GC优化、并发移动式回收
● 线程交互优化:monitor性
“本书论述了关于虚拟机设计与实现的高级主题,已经成为我不可或缺的参考书。我向系统软件开发者,尤其是托管运行时系统的开发者,强烈推荐本书,因为本书能够清晰地解答他们在探索虚拟机相关话题时所产生的疑问。”——周志德,Futurewei Technologies首席科学家
“当前语言虚拟机的应用范围越来越广,各类新的语言虚拟机也层出不穷,虚拟机技术的专业图书却不多见。本书是作者多年研究与实践的心得与沉淀,值得一读。”——胡子昂,华为硅谷基础软件实验室主任、华为Fellow
“关于虚拟机架构的设计,本书不但阐明了是什么,而且讨论了为什么。作者从架构师的角度高屋建瓴地分析了技术选择背后的来龙去脉,相信读者一定会受益匪浅。”——慎熙鹏,北卡罗来纳州立大学计算机系教授
“虚拟机技术在编程语言、编译器、计算机架构、Web系统等领域均有深远的影响。作者具备这些领域的工作经历,本书的写作也扎根于其在虚拟机研究及开发过程中的一手资料。本书通过循序渐进的方式,将虚拟机技术融入丰富的示例与代码中,使得读者能够同时在理论和实践的层面充分理解虚拟机技术的精髓。”——朱子青,英伟达高级软件架构师
“本书作者来自工业界,有着丰富的工程实践经验。书中同时包含了学术界在虚拟机相关领域的研究成果。其中重要的技术讨论,既有代码示例,又有理论分析,能帮助读者透彻地理解虚拟机技术的要点、难点。”——林子超,美国高通研发总监
展开