记录自己用Python完成编写JVM的过程
项目完全参考张秀宏的《自己动手写Java虚拟机》代码结构,在此向本书作者表示感谢。
运行环境
Python 版本:3.7.2
PyCharm 版本:PyCharm 2018.3.7 (Professional Edition)
Java版本:1.8
代码结构
images---------------------------------运行截图
java-----------------------------------java的代码与class文件
+----class-----------------------------java编译生成的class文件
+----code------------------------------java的测试代码
src------------------------------------jvm代码
+-----ch01-----------------------------对应书中第1章实现代码
+-----ch02-----------------------------对应书中第2章实现代码
+-----ch03-----------------------------对应书中第3章实现代码
+-----ch04-----------------------------对应书中第4章实现代码
+-----ch05-----------------------------对应书中第5章实现代码
+-----ch06-----------------------------对应书中第6章实现代码
+-----ch07-----------------------------对应书中第7章实现代码
+-----ch08-----------------------------对应书中第8章实现代码
+-----ch09-----------------------------对应书中第9章实现代码
+-----ch10-----------------------------对应书中第10章实现代码
+-----develop_code---------------------持续开发的实现代码
+-----classfile------------------class文件解析的对象类
+-----classpath------------------类路径目录
+-----instructions---------------指令集
+-----native---------------------本地方法目录
+-----rtda-----------------------运行时数据区
注意: 将src和develop_code设置成sources Root,可避免代码的引包报错。
代码编写与运行结果
项目的所有运行都是采用直接运行Main.py的方式,请读者运行时注意。
第1章-命令行工具
完成一个简易的命令行工具,使用各种参数执行JVM命令
传入参数:
--cp foo/bar MyApp arg1 arg2