Home

Awesome

zava

Mini Java VM in Zig v0.13.0

What it is

Zava is a Java<sup>*</sup> VM implementation in Zig. This is a sister project of Gava which is using Go. The goal of Zava is to implement a couple of features which are not capable of doing by Go, such as GC and fine control of memory allocation.

The reference of the implement is JVM Spec 8 edition and it is supposed to be compatible with Java 8 bytecode.


* JAVA is a trademark of Oracle America, Inc.

Roadmap

Feature:

Non-functional:

Get started

Download JDK and extract to jdk folder. The default class path is examples/classes and jdk/classes, so any classes located in the path can be loaded by zava.

zig build

./zava HelloWorld

demo

Debugging

A VS code launch.json is configured for your debugging.

And after running the program, a zava.log is produced to trace the execution.