JVM implementation with deterministic memory deallocation.
This is a work in progress and is not ready for production use.
ristretto
java can be installed using the following methods:
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/theseus-rs/ristretto/releases/latest/download/ristretto_cli-installer.sh | sh
irm https://github.com/theseus-rs/ristretto/releases/latest/download/ristretto_cli-installer.ps1 | iex
For more information, and additional installations instructions (cargo, homebrew, msi), visit the ristretto site.
- Deterministic memory allocation / deallocation
- No tracing garbage collector
- Runtime classes based on any version of AWS Corretto
- Load classes from directories, jars, modules
- Url class loading from jars and modules
- Reading, writing, verifying classes
- Verification of class files is supported, but is still a work in progress.
- The Invokedynamic instruction is not implemented
- Threading is not implemented
- Numerous JDK native methods are not implemented
- Finalizers are not implemented
- JNI is not implemented
- JIT is not implemented
- No Security manager; see: JEP 411
These crates use #![forbid(unsafe_code)]
to ensure everything is implemented in 100% safe Rust.
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.