Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/imkiva/KiVM
πThis is a pure C++ implementation of Java Virtual Machine (only Java 8 is supported). Inspired by Hotspot In Action.
https://github.com/imkiva/KiVM
garbage-collector interpreter java jvm programming-language virtual-machine
Last synced: 3 months ago
JSON representation
πThis is a pure C++ implementation of Java Virtual Machine (only Java 8 is supported). Inspired by Hotspot In Action.
- Host: GitHub
- URL: https://github.com/imkiva/KiVM
- Owner: imkiva
- License: mit
- Created: 2018-02-24T18:49:14.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-03-10T13:46:49.000Z (over 2 years ago)
- Last Synced: 2024-06-21T20:35:25.714Z (5 months ago)
- Topics: garbage-collector, interpreter, java, jvm, programming-language, virtual-machine
- Language: C++
- Homepage:
- Size: 2.29 MB
- Stars: 232
- Watchers: 9
- Forks: 34
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
KiVM
=============
[![Build Status](https://travis-ci.org/imkiva/KiVM.svg?branch=master)](https://travis-ci.org/imkiva/KiVM)
[![GitHub top language](https://img.shields.io/github/languages/top/imkiva/KiVM.svg)](https://github.com/imkiva/KiVM)
[![license](https://img.shields.io/github/license/imkiva/KiVM.svg?colorB=000000)](https://github.com/imkiva/KiVM)Kiva's Java Virtual Machine.
### Features
- JNI Support
- JAR Class Loading Support (libzip needed)
- Full OracleJDK/OpenJDK compatibility
- Copying Garbage Collector### Build
1. Requirements
* Linux, macOS, or Windows(untested) .
* JDK (OpenJDK or OracleJDK) (>= 8)
* CMake (>= 3.2)
* libzip (>= 1.5.1) (to support JAR Class Loading)2. Build instructions
* Clone this repo.
* `cd` into your directory that contains KiVM source code.
* Type `cmake . && make` in your terminal app.
* Enjoy it!### Usage
```
Usage:
java [-?] [-v] [-cp ] [-classpath ] []...Options:
-?, -help show help
-v, -version show version
-cp class search path
-classpath same as -cp
name of the class to run```
### Credit
* Inspired by [wind_jvm](https://github.com/wind2412/wind_jvm)
* Modified version of [libzippp](https://github.com/ctabin/libzippp)
* Command line options parsing using [clipp](https://github.com/muellan/clipp)## Acknowledge
We would like to thank [JetBrains](https://www.jetbrains.com/?from=mozart++) for sharing free
open-source licences of amazing tools such as [CLion](https://www.jetbrains.com/idea/?from=mozart++).[](https://www.jetbrains.com/?from=mozart++)
### See Also
* [HiVM](https://github.com/imkiva/HiVM)
* [The Java Virtual Machine Specification Java SE 8 Edition](https://docs.oracle.com/javase/specs/jvms/se8/html/)
* [HotSpot Virtual Machine Garbage Collection Tuning Guide](https://docs.oracle.com/en/java/javase/11/gctuning/preface.html#GUID-5650179B-DC2A-4F25-B2C6-F3961C93FD07)