csuZipple / miniJVM

a simple java virtual machine implemented by pure Java

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

miniJVM

实现一个简单的Java虚拟机。

主要工作

Class文件的装载

  • 支持简单的classpath的设置
  • 从文件系统读取一个文件,形成字节数组
  • 验证该文件的魔数

解析常量池

解析字段和方法

基于访问者模式实现javap

基于命令模式实现对字节码指令的执行

更详细的介绍见:miniJVM的设计与实现 或者去我CSDN Blog

参考

  1. 《深入理解Java虚拟机:JVM高级特性与最佳实践》第2版

  2. 码农翻身 微信公众号

说明

由于编译器等原因,测试用例只能用附带的class才能通过。用自己编译的class文件,常量池等内容顺序会不一样,无法通过测试。

感谢码农翻身做的基础工作

感谢wangPengch对我的支持

About

a simple java virtual machine implemented by pure Java


Languages

Language:Java 100.0%