zxh0/jvm.go
zxh0/jvm.go has 3,596 GitHub stars and 463 forks. GitHot measured 0 in 7 days. Last checked 2026-11-11 06:14 UTC. Last push 2019-12-04.
A toy JVM written in Go
Measured star growth
- in 24h
- Update delayed
- in 7 days
- 0
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Originaljvm.go
A JVM written in Go.

Introduction
jvm.go is a toy JVM (which is far from complete) programmed in Go. The main purpose of this project is learning Go and the JVM. So the number one goal of the project is readability of code. The basic idea is to just implement the core JVM, and use rt.jar (from OpenJDK) as its class library. The garbage collector is implemented by directly using Go’s GC.
My dev environment
- Mac OS X 10.13.6
- Java 1.8.0_201
- Go 1.12
Build jvm.go
git clone https://github.com/zxh0/jvm.go.git
cd jvm.go
go build github.com/zxh0/jvm.go/cmd/java
Run jvm.go using your Java installation
Check your Java version and ensure JAVA_HOME env was set
./java -XuseJavaHome -cp path/to/jars:path/to/classes HelloWorld
Run jvm.go using Zulu
Download zulu jdk 8 (Zulu is a certified build of OpenJDK that is fully compliant with the Java SE standard.) and unzip it to somewhere, Copy jvm.go/java into unzipped folder
cd path/to/zulu8-macosx
cp path/to/jvm.go/java jvmgo
jvmgo -cp path/to/jars:path/to/classes HelloWorld
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
561,728 starspublic-apis/public-apis
A collective list of free APIs
498,148 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
451,531 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,331 stars