•JNI: The Java Native Interface, as defined by the Java Community Process
–Provides a “somewhat safe” way to combine C code (for hard real-time processing) with Java code (for soft real-time processing)
•Full RTSJ: The Real-Time Specification for Java, as defined by the Java Community Process
–Defines changes to the JVM which enable specially constructed threads to achieve hard real-time determinism
•JRTK Subset of RTSJ (designed by Aonix):
–Defines a high-performance, hard-real-time Java-like run-time environment that runs in concert with a JVM