The Micro edition JREs (MJREs) are suitable for devices that have a limited set of system resources and/or that are targeted by Java applications that only use the Java APIs included in Oracle's Java ME platform.  Each MJRE can be certified as compliant with Oracle's Java ME CDC platform, which means that the devices having the JRE deployed on them can be distributed with Oracle's "steaming coffee cup" logo and/or "Java Powered" slogan.

Each MJRE includes the target-specific ports of the following main components:
  • IBM's "embedded class" J9 Virtual Machine (J9VM) v 2.4. Can be optionally provided in an "application development" configuration, in which case it supports debugging and profiling of Java applications, tracing of executions of threads, tracing of heap allocations and garbage collection activities, and "dumping" of Java heap or selected portions of Java heap.

  • IBM's optimizing Just-in-Time (JIT) compiler, tuned by Apogee to compile the compiler-selected or user-selected bytecode methods of a given Java applications into "native" (binary) methods of the highest possible performance when executed on the processor targeted by MJRE.

  • IBM's Foundation Class Library (FCL), compatible with Oracle's Java ME Foundation Profile 1.1.2, as defined by JSR-219.
JAR files of Java ME applications
"Application-level" packages (e.g. Log4J)
"Client-side" runtimes (e.g. Equinox)
Implementation of JSRs (e.g. RMI, JDBC)
Foundation Class Library
 and optional Personal Class Library
IBM's J9 Java VM, JIT compiler,
Java core APIs
Target OS
(Linux, WinCE, WinMobile, or UNIX)
Target processor
(x86, ARM, MIPS, or PowerPC)
Each MJRE can optionally include implementations of various Java Specification Requests (JSRs) or Java API package, such as:
  • Java API packages defined for the Java ME Foundation Profile by JSR-219:
    • Java Secure Socket Extension (JSSE).
    • Java Cryptography Extension (JCE).
    • Java Authentication and Authorization Service (JAAS).
  • IBM's Personal Class Library (PCL) that provides full support for the Java ME AWT graphics, applets and Java beans, as defined by JSR-62/216. PCL comes with a port of IBM's Universal Graphics Library that facilitates effective rendering of AWT graphics using the any of following low-level graphics libraries:
    • GTK2 and/or X-Window on Linux-based targets
    • Qt-embedded on Linux-based targets.
    • GDI on Windows CE/Mobile-based targets
  • RMI (Remote Method Invocation) package defined by JSR-66.
  • Wireless Messaging and Mobile Media APIs defined by JSR-120/205 and JSR-135.
  • JDBC (Java DataBase Connectivity) package defined by JSR-169.
  • XML Support & Web Services package defined by JSR-172.
  • Mobile Location APIs defined by JSR-179.
  • IBM's JavaComm class library providing support for the serial/parallel port communications.
  • and more...
Each MJRE can optionally include the following "client-side" runtimes:
Each MJRE can optionally include the following "application-level" packages: