All Projects → zxh0 → Jvm.go

zxh0 / Jvm.go

Licence: mit
A toy JVM written in Go

Programming Languages

go
31211 projects - #10 most used programming language
java
68154 projects - #9 most used programming language
shell
77523 projects

Labels

Projects that are alternatives of or similar to Jvm.go

lambda-string
Lambda-string (LS) is a helping java agent that inject configurable toString method into lambdas with some useful meta-information.
Stars: ✭ 34 (-98.99%)
Mutual labels:  jvm
Monorepo Starter
Monorepo starter project for Kotlin, Python, TypeScript x React
Stars: ✭ 255 (-92.44%)
Mutual labels:  jvm
Meins
a personal and smart journal
Stars: ✭ 288 (-91.46%)
Mutual labels:  jvm
lagom-samples
developer.lightbend.com/start/?group=lagom
Stars: ✭ 85 (-97.48%)
Mutual labels:  jvm
clodl
Turn dynamically linked ELF binaries and libraries into self-contained closures.
Stars: ✭ 136 (-95.97%)
Mutual labels:  jvm
Ferrugo
Ferrugo is a JVM implementation written in Rust
Stars: ✭ 272 (-91.94%)
Mutual labels:  jvm
jvm
simple java virtual machine
Stars: ✭ 53 (-98.43%)
Mutual labels:  jvm
Arquillian Core
Arquillian provides a component model for integration tests, which includes dependency injection and container life cycle management. Instead of managing a runtime in your test, Arquillian brings your test to the runtime.
Stars: ✭ 315 (-90.66%)
Mutual labels:  jvm
JBWAPI
Pure Java BWAPI Client implementation for JVM languages
Stars: ✭ 16 (-99.53%)
Mutual labels:  jvm
Jikesrvm
Jikes RVM (Research Virtual Machine)
Stars: ✭ 281 (-91.67%)
Mutual labels:  jvm
yarrow
[yarrow] JVMCI based optimizing compiler for HotSpot VM
Stars: ✭ 21 (-99.38%)
Mutual labels:  jvm
arquillian-container-was
Arquillian WebSphere Containers
Stars: ✭ 18 (-99.47%)
Mutual labels:  jvm
Maxine Vm
Maxine VM: A meta-circular research VM
Stars: ✭ 274 (-91.88%)
Mutual labels:  jvm
KotlinSchool
Kotlin School with Kotlin Programming Tutorial
Stars: ✭ 26 (-99.23%)
Mutual labels:  jvm
Komputation
Komputation is a neural network framework for the Java Virtual Machine written in Kotlin and CUDA C.
Stars: ✭ 295 (-91.26%)
Mutual labels:  jvm
kotlin-graalvm-custom-aws-lambda-runtime-talk
This is the demo code for a talk on improving cold startup times for JVM-based lambdas using GraalVM and Custom AWS Lambda Runtimes.
Stars: ✭ 24 (-99.29%)
Mutual labels:  jvm
Bistoury
Bistoury是去哪儿网的java应用生产问题诊断工具,提供了一站式的问题诊断方案
Stars: ✭ 3,198 (-5.22%)
Mutual labels:  jvm
Idris Jvm
JVM bytecode back end for Idris
Stars: ✭ 317 (-90.6%)
Mutual labels:  jvm
Docs
Java知识总结:MySQL实战45讲,多线程和JVM知识总结,,SpringBoot,SpringCloud,Storm系列,微信小程序开发,ELK,《JAVA核心技术36讲笔记》,《深入理解JVM虚拟机笔记》,《高性能MySQL笔记》,《数据结构与算法》等等
Stars: ✭ 308 (-90.87%)
Mutual labels:  jvm
Talos
Talos Particle Engine
Stars: ✭ 275 (-91.85%)
Mutual labels:  jvm

jvm.go

A JVM written in Go. jvm.go Logo

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].