实现一个简单的Java虚拟机。
Class文件的装载
- 支持简单的classpath的设置
- 从文件系统读取一个文件,形成字节数组
- 验证该文件的魔数
解析常量池
解析字段和方法
基于访问者模式实现javap
基于命令模式实现对字节码指令的执行
更详细的介绍见:miniJVM的设计与实现 或者去我CSDN Blog
-
《深入理解Java虚拟机:JVM高级特性与最佳实践》第2版
-
码农翻身 微信公众号
由于编译器等原因,测试用例只能用附带的class才能通过。用自己编译的class文件,常量池等内容顺序会不一样,无法通过测试。
感谢码农翻身做的基础工作
感谢wangPengch对我的支持