教你用 Java 开发一个简单的 JVM
摘要
几年前,接到一个开发任务:用Java开发能运行Java智能合约的虚拟机。在开发Java智能合约时,只能使用智能合约SDK提供的类和一些Java常用类(8种基本数据类型包装类;String、BigInteger、BigDecimal、List、Map、Set 相关的类)。
完整的Java智能合约虚拟机比较复杂,且要保存Java智能合约状态。这篇文章仅介绍一个简单JVM实现,支持少量字节码。参考 Java 虚拟机规范(Java SE 8),里面写到:要正确实现 Java 虚拟机,只需能够读取class文件格式并正确执行其中指定的操作。为了简化实现,使用了 ASM解析class文件。
欢迎在评论区写下你对这篇文章的看法。