jvm.go

JAVA源码 2025-08-25

jvm.go

JVM编写的Go。

介绍

jvm.go是GO中编程的玩具JVM(远非完整)。该项目的主要目的是学习GO和JVM。因此,该项目的第一目标是代码的可读性。基本思想是仅实现核心JVM,然后将rt.jar (来自OpenJDK)用作其类库。垃圾收集器是通过直接使用GO的GC实现的。

我的开发环境

  • Mac OS X 10.13.6
  • Java 1.8.0_201
  • 走1.12

构建jvm.go

jvm.go go build github.com/zxh0/ jvm.go /cmd/java">
git clone https://gith**ub*.com/zxh0/jvm.go.git
cd jvm.go
go build github.com/zxh0/ jvm.go /cmd/java

使用Java安装运行jvm.go

检查您的Java版本并确保设置Java_home env

./java -XuseJavaHome -cp path/to/jars:path/to/classes HelloWorld

使用Zulu运行jvm.go

下载Zulu JDK 8(Zulu是完全符合Java SE标准的OpenJDK jvm.go /java认证构建。

jvm.go/java jvmgo jvmgo -cp path/to/jars:path/to/classes HelloWorld">
 cd path/to/zulu8-macosx
cp path/to/ jvm.go /java jvmgo
jvmgo -cp path/to/jars:path/to/classes HelloWorld
下载源码

通过命令行克隆项目:

git clone https://github.com/zxh0/jvm.go.git