Skip to content

AmazingRise/rise-jvm-core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rise JVM Core

Go License: GPL v3

This is the core of Rise JVM.

Rise JVM is a Java Virtual Machine based on WASM, written in Go.

Tested under:

  • Ubuntu 20.04
  • OpenJDK javac 11.0.13

✨Quick Start

Just one line.

go test

🎄Structure

Project structure:

.
├── LICENSE
├── README.md
├── demo
├── entity
├── go.mod
├── go.sum
├── jvm
├── loader
├── logger
├── main.go
├── main_test.go
├── rt
└── utils

demo

Demo Java classes and their source code.

loader

Class loader and related stuffs are here. They load bytes from class file. The loader will convert these bytes into Go struct.

entity

This directory stores the definition of structures, and its methods. The methods are only related to the struct, e.g. IsPublic for Class. Other things like deserialization is not included.

jvm

VM and byte code execution engine.

logger

Global logger. It should be initialized.

👏Acknowledgement

zserge/tojvm. Some snippets in loader are from here. They are noted in comments.

📜License

This project is licensed under GPLv3.

About

The core of Rise JVM

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages