Java Logo


Red Triangle  WHAT'S NEW

This Early Access (EA) 2 release is an update to the first Java ME Embedded 8 EA release in September 2013. The EA 2 release is a preview implementation of the draft Java ME 8 standard (based on the Java ME Connected Limited Device Configuration (CLDC) 8 and Java ME Embedded Profile (MEEP) 8) including:
  • Alignment with Java SE 8 language features and APIs, enabling more streamlined creation of embedded software through a unified development model between Java SE 8 and Java ME 8 
  • A significantly updated "services-enabled" application platform allowing modular and flexible software development and deployment to reduce risk and time-to-market for embedded software solutions
  • Support to customize and "right-size" the platform to address a wider range of use cases with target devices starting as low as 128 KB RAM and 1 MB of Flash/ROM
  • Access from Java to a range of devices via GPIO, I2C, SPI, UART and more to enable easy cross-platform support of use case-specific hardware and peripherals
  • Application development is supported through the Oracle Java ME SDK 8 Early Access 2
Key Features of the Oracle Java ME Embedded 8 EA 2 release:
  • Improved support for the draft Java ME 8 specifications
  • Improved tooling support (Developer Agent, On-device Debugging, Memory Monitor, Network Monitor, CPU Profiler, Logging)
  • Improved networking and connectivity, including wireless support (3GPP, CDMA, WiFi)
  • Improved access to peripheral devices through Device Access API
  • New APIs for RESTful programming (JSON, Async HTTP, OAuth)
  • Updated Oracle Java ME SDK 8 EA #2, improving support for new Java ME 8 functionality, platforms, peripheral devices, tooling, and integration with NetBeans 8 Beta
  • Ongoing support for the following APIs: File Connection, Wireless Messaging, Web Services, Security and Trust Services, Location, XML
  • Bug fixes, usability, performance, and footprint improvements
Supported Platforms:
  • New support for Qualcomm IoE 6270T on Brew MP
  • Improved support for Raspberry Pi Model B on Debian Linux
  • Improved support for Windows 7 
This Early Access 2 release is targeted at developers and interested parties who would like to explore and evaluate the possibilities of the upcoming Java ME 8 platform.

     Download Download     Download Learn More

Download Download Oracle Java ME SDK 8 Early Access 


The Oracle Java ME Embedded 3.4 is an update to version 3.3. New features:
  • Support for the Qualcomm IoE platform based on QSC6270T and Brew MP

     Download Download     Download Learn More

Download Download Oracle Java ME SDK 3.4 



Red Triangle  OVERVIEW

Java ME technology was originally created in order to address the constraints associated with building applications for small devices. For this purpose Java ME technology was defined to fit such a limited environment and make it possible to create Java applications running on small devices with limited memory, display and power capacity.

Java ME platform is a collection of technologies and specifications that can be combined to construct a complete Java runtime environment specifically to fit the requirements of a particular device or market. This offers a flexibility and co-existence for all the players in the eco-system to seamlessly cooperate to offer the most appealing experience for the end-user.

The Java ME technology is based on three elements:

  • A configuration provides the most basic set of libraries and virtual machine capabilities for a broad range of devices,
  • A profile is a set of APIs that support a narrower range of devices, and
  • An optional package is a set of technology-specific APIs

The sections below describe two products targeted for embedded devices and based on Java ME technology. The Oracle Java ME Embedded product is a brand new product based on the Java Connected Limited Device Configuration (CLDC) and targets small, resource-constrained embedded devices such as wireless modules for m2m, industrial control, smartgrid infrastructure, environmental sensors and tracking, and more. While the already existing Java ME based product in the market, Oracle Java ME Embedded Client, is based on the Java Connected Device Configuration (CDC) and targets more powerful, mid-range embedded devices such as e-book readers, Blu-ray Disc players, Voice Over IP telephones, televisions, set-top boxes, printers, residential gateways.



Oracle Java ME Embedded is a Java runtime that leverages the core Java ME technologies deployed in billions of mobile devices around the world. The Java ME specifications are designed to be rich in functionality, portable to a wide range of devices, flexible, and secure while being very resource-efficient and keeping the demands on the underlying platform low.

Oracle Java ME Embedded builds on this proven technology to deliver a highly-optimized and complete client Java runtime stack optimized for resource-constrained, connected, and intelligent embedded systems. It provides a robust and flexible cross-platform application environment based on Java ME CLDC with dedicated embedded functionality for a broad range of use cases. Oracle Java ME Embedded is supported by a range of best-in-class developer tools, such as the Java ME SDK, as well as NetBeans and Eclipse plugins. These tools offer system designers and developers a rich and productive environment to create sophisticated small embedded solutions leveraging the benefits of the Java language, runtime, and ecosystem while meeting while meeting tight system resource targets. The figure below illustrates the product stack-

Java ME Embedded Stack

Example Use Case

Oracle Java ME Embedded targets a wide range of embedded platforms and use cases such as:

  • Wireless modules
  • Smart meters/smart sensors
  • Industrial controllers
  • Telehealth devices
  • Environmental remote monitors
  • Tracking systems
  • Home automation devices
  • Connected vending machines
  • And more, including the general M2M (machine-to-machine) space

Key Advantages

  • Complete solution for a highly-optimized client Java runtime stack optimized for resource-constrained, connected, and intelligent embedded devices
  • Providing a robust and flexible, cross-platform application environment for small embedded solutions
  • Very low footprint and CPU requirements, scaling from micro-controller class systems up to mid-range embedded devices
  • Fully compliant with CLDC 1.1 (JSR 139) and IMP-NG (JSR-228) plus support for a number of additional optional JSRs: File I/O API’s (JSR-75), Wireless Messaging API’s (JSR-120), Web Services (JSR-172), Security and Trust Services subset (JSR-177), Location API’s (JSR-179), XML API’s (JSR-280)
  • Dedicated embedded functionality for developing sophisticated embedded solutions, including remote application management and monitoring, remote system configuration, support for robust 24x7 operation, and direct access to peripheral I/O from Java
  • Highly portable and extensible system design to meet the needs of diverse embedded requirements, providing a foundation which enables downstream specialization, enhancements, and productization for specific target markets and use cases
  • Supported by best-in class tools: Java ME SDK and plugins for NetBeans and Eclipse – including support for device emulation and remote on-device debugging
  • Backed by Oracle’s expertise in proven and widely commercially deployed Java ME technology

By using Java technologies for embedded products, device manufacturers, system integrators, and developers can build more functional, robust, secure, and long-lived solutions with a reduced time-to-market window, providing better, more cost efficient embedded solutions.

 For developing Java applications for small embedded devices, the Java ME SDK provides a complete and free set of tools, enabling developers to write, compile, deploy, and test their applications. For more information on the Java ME SDK, please click here


The Oracle Java Micro Edition (ME) Embedded Client is an application runtime that builds on the popular Java ME specification and has been designed for resource-constrained devices like e-book readers, Blu-ray Disc players, Voice Over IP telephones, televisions, set-top boxes, printers, residential gateways and more. Java ME is the best technology for resource constrained embedded devices and has seen widespread deployment across mobile handsets and digital television devices. Java ME provides device manufacturers with the full power of the Java language, a comprehensive set of APIs, industry-leading security and access to more developers than any other platform. Through its compatibility with the Java Platform Standard Edition (Java SE), the Oracle Java Micro Edition Embedded Client inherits familiar Java features and benefits from a rich development ecosystem that enables Java developers to hit the ground running. An extensive range of tools, such as the NetBeans IDE, provides sophisticated power for creating and debugging applications. At the same time, the Oracle Java Micro Edition Embedded Client capitalizes on its Java ME heritage by being specially designed for speed and efficiency on devices with limited processing power and memory.

Key Advantages

  • High performance runtime designed for resource constrained devices
  • Fully compliant for use with global standards: GEM MHP, BD-J, tru2way, OSGi, Ginga-J
  • Develop using a range of popular tools including Eclipse and NetBeans across Windows, Linux and Mac OS X
  • Enables advanced applications and system software: scalable and robust in heavily threaded scenarios
  • Comprehensive support for key Java specifications (JSRs)
  • Pre-optimized runtimes enable faster time to market on supported platforms

Design Features

  • Just-In-Time (JIT) Compiler - Space efficient, Fast, Reliable, Portable and Configurable
  • Ahead of Time Compilation (AOT) - Fast VM Startup Time
  • Interpreter - Optimal Speed, Uses GCC extensions
  • Runtime - Fast startup and shutdown, no Resource leaks, small class footprint for both dynamically loaded and preloaded classes, Native and software floating point support.
  • Class Preloading (Romization) - Space saving, Data sharing, In-place execution from ROM, Faster startup time, Avoids fragmentation
  • Memory Management - Heap management, Fast generational garbage collector
  • Thread Support - Fast locking, Scalable and robust in heavily threaded scenarios, C stack safety for tight memory conditions, Porting layer supports native threads
  • Process-Based Multi Application Support - Leverage OS copy on fork capability, Secure and efficient
  • Standard JVM Interfaces - Policy-based security model, Java Native Interface (JNI) method support, JVMTI for debugging and profiling support