The Jamaica Virtual Machine is an implementation of the Java Virtual Machine Specification. It is a runtime system for the execution of applications written for the Java 2 Environment. It has been designed for realtime and embedded systems and offers unparalleled support for this target domain. Among the extraordinary features of JamaicaVM are
Hard realtime execution guarantees
Minimal footprint
ROMable code
Native code support
Dynamic Linking
Portability
Fast execution
Powerful Tools
The Jamaica Virtual Machine is the only implementation that provides hard realtime guarantees for all features of the languages together with high performance runtime efficiency. This includes dynamic memory management, which is performed by the JamaicaGC garbage collector.
All threads executed by the Jamaica Virtual Machine are realtime threads, there is no need to distinguish realtime from non-realtime threads. Any higher priority thread is guaranteed to be able to pre-empt lower priority threads within a fixed worst-case delay. There are no restrictions on the use of the Java language to program realtime code: Since the JamaicaVM executed all Java code with hard realtime guarantees, even realtime tasks can use the full Java language, i.e., allocate objects, call library functions, etc. No special care is needed, short worst-case execution delays can be given for any code.