FJRE |
Foundation JavaTM Runtime Environment
Each FJRE is comprised of RTOS/processor ports of the following components:- IBM's J9VM compatible with the J2ME CDC VM defined by JSR-218. If a given FJRE is compatible with the Real-Time Specification for Java (RTSJ), its port of J9VM also includes the implementations of RTSJ features that must be directly implemented in a Java VM.
- The JIT (Just-In-Time) compiler, unless the FJRE is compatible with RTSJ, in which case the JIT
compiler is not included but the corresponding JDE comes with the RTSJ-friendly(*) AOT (Ahead-of-Time)
compiler. Note JIT compilers are not suitable for use in RTSJ-compliant JREs because they
may "break" the RTSJ compliance of Java applications compiled with them by increasing a
non-deterministic behavior of such applications.
(*) Does not "break" the RTSJ compliance of Java applications compiled with it. - IBM's Foundation Class Library (FCL), which includes the Java API packages compatible with API packages from the CDC J2ME Foundation Profile (java.io, java.lang, java.math, java.net, java.security, java.text, java.util, and javax.microedition) defined by JSR-219. In addition the FJRE can include ports of IBM's implementations of customer requested optional packages defined for J2ME Foundation Profile by JSR-219, namely: the Java Secure Socket Extension (JSSE) package; JavaCryptography Extension (JCE) package; and Java Authentication and Authorization Service (JAAS) package. Note that the port of FCL is needed to run any Java application on the JRE.
- Apogee's RTSJ class library (RTSJCL) for an FJRE that is compatible with RTSJ. RTSJCL provides the implementations of RTSJ features that need not be directly implemented in a Java VM.
Each FJRE is compatible with J2ME CDC Platform, which means that it can pass all tests in J2ME TCK test suites for the CDC VM and Foundation Profile.