A lightweight Java Virtual Machine and class library for building self-contained applications.
Avian is a lightweight Java Virtual Machine and class library that provides a subset of Java's features for building self-contained applications. It allows developers to embed Java code directly into native executables, eliminating the need for a separate JRE installation. The project targets scenarios where minimal footprint and portability are critical.
Developers building embedded systems, standalone desktop applications, or mobile apps (including iOS) who need a minimal Java runtime without the overhead of a full JVM.
Avian offers a significantly smaller footprint than standard JVMs while maintaining Java compatibility for common use cases. Its embeddable design and support for ahead-of-time compilation make it ideal for creating self-contained executables that start quickly and run on multiple platforms.
[INACTIVE] Avian is a lightweight virtual machine and class library designed to provide a useful subset of Java's features, suitable for building self-contained applications.
Avian's VM is significantly smaller than standard JVMs, optimized for minimal size and fast startup, ideal for embedded systems.
Supports Linux, Windows, macOS, iOS, and FreeBSD across x86 and ARM architectures, enabling deployment on diverse devices.
Can be compiled into standalone executables, eliminating the need for a separate JRE installation, as shown in the embedding examples.
Offers ahead-of-time compilation via boot images for faster startup, crucial for iOS where JIT is restricted.
Explicitly marked as not developed, maintained, or supported, posing significant risks for production use and long-term viability.
Requires manual configuration with numerous flags, dependencies like GCC/Clang, and cross-compilation setups, which can be error-prone and time-consuming.
Default class library only provides a subset of Java features; using OpenJDK or Android libraries increases size and adds build complexity.
A Java to iOS Objective-C translation tool and runtime.
A toy JVM written in Go
Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.
Cross-platform framework for building truly native mobile apps with Java or Kotlin. Write Once Run Anywhere support for iOS, Android, Desktop & Web.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.