/KiVM

🌟This is a pure C++ implementation of Java Virtual Machine (only Java 8 is supported). Inspired by Hotspot In Action.

Primary LanguageC++MIT LicenseMIT

KiVM

Build Status GitHub top language license

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 <path>] [-classpath <path>] <class-name> [<args>]...

Options:
        -?, -help           show help
        -v, -version        show version
        -cp <path>          class search path
        -classpath <path>   same as -cp
        <class-name>        name of the class to run

Credit

Acknowledge

We would like to thank JetBrains for sharing free open-source licences of amazing tools such as CLion.

See Also