内容简介
本书主要面向有一定经验的Java程序员,但任何对Java虚拟机工作原理感兴趣的读者都可以从本书获益。如前所述,本书将使用Go语言实现Java虚拟机。书中会简要介绍Go语言的部分语法以及与Java语言的区别,但不会深入讨论。由于Go语言相对比较简单,相信任何有C系列语言(如C、C++、C#、Objective-C、Java等)经验的读者都可以轻松读懂书中的源代码。Java语言于1995年首次公开发布,很快便取得了巨大的成功,成为使用最为广泛的编程语言之一。到现在,Java已经经历了20多个年头。在这期间,无论是Java语言本身还是Java虚拟机技术,都取得了长足的进步。现如今,Java依然长期占据TIOBE。网站的编程语言排行榜首。最近更是被TIOBE选为2015年度编程语言Java曾被TIOBE选为2005年度编程语言。,风采可谓不减当年。
AI简介
这是一本面向有一定经验的Java程序员,但任何对Java虚拟机工作原理感兴趣的读者都可以从本书获益的著作。如前所述,本书将使用Go语言实现Java虚拟机。书中会简要介绍Go语言的部分语法以及与Java语言的区别,但不会深入讨论。由于Go语言相对比较简单,相信任何有C系列语言(如C、C++、C#、Objective-C、Java等)经验的读者都可以轻松读懂书中的源代码。
本书分为11章,每章都围绕Java虚拟机的一个核心主题展开。第1章介绍了如何安装Go语言和JDK,以及如何创建目录结构。第2章讲解了如何解析class文件格式,包括魔数、版本号、常量池、字段表、方法表和属性表等。第3章深入探讨了Java虚拟机字节码解释执行,包括Java虚拟机栈、帧、操作数栈和局部变量表等运行时数据区的实现,以及一个简单的字节码解释器的编写。
第4章详细介绍了线程共享与私有内存区域,包括类数据、类实例和局部变量表等。第5章则介绍了Java虚拟机运行时数据区概览,包括方法区、堆和Java虚拟机栈等。第6章讨论了方法的分类和调用,包括静态方法、实例方法、抽象方法和本地方法等。第7章讲解了Java虚拟机数组