Embedded Java

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Embedded Java at the Embedded World fair 2014 in Nuremberg

In discussions of Java ME specifications, such as the CDC/CLDC device capability sets and the MIDP profile definition, attention needs to be given to Embedded Java, which additionally requires very specialized, optimized JVMs, and the means to update the installed software and services such as OSGi.

Recent developments in the field are

  • In January 2013, STMicroelectronics announced full Java support for STM32 F3/F4-series microcontrollers STM32 and stm32java
  • In March 2013, MicroEJ product line from IS2T for ARM Cortex-M (all RTOS), ARM Cortex-A (Linux, Integrity, VxWorks), ARM7-TDMI (all RTOS), ARM9 (Linux, Integrity), AVR32 UC3 (all RTOS), V850 (all RTOS).
  • Before 2012, the Squawk Virtual Machine, a JVM developed by Sun Microsystems and deployed as part of Project Sun SPOT.

The principal difference between Embedded Java and the several Java ME configurations is that the former is envisioned for use only in closed systems. That is, Embedded Java is for use in products that cannot be upgraded in the field. All of the Java code in these embedded systems is contained in flash memory. Thus the only class libraries that need to be present are the very methods and fields actually used by the Java application code; all the rest can be prestripped from the statically linked executable.

Java SE embedded[edit]

Java SE embedded is based on desktop Java Platform, Standard Edition.[1] It is designed to be used on systems with at least 32 MB of RAM, and can work on Linux ARM, x86, or Power Architecture, and Windows XP and Windows XP Embedded architectures.

Java ME embedded[edit]

Java ME embedded is based on the Connected Device Configuration subset of Java Platform, Micro Edition.[2] It is designed to be used on systems with at least 8 MB of RAM, and can work on Linux ARM, PowerPC, or MIPS architecture.

The offering of Java for embedded devices is growing fast with companies that provide Embedded Java virtual machines for ARM Cortex-M serie. Only 50KB of flash is needed and a few KB of RAM.

See also[edit]


  1. ^ "JAVA SE FOR EMBEDDED". Oracle Corporation. Retrieved 2011-09-04. 
  2. ^ "JAVA ME FOR EMBEDDED". Oracle Corporation. Retrieved 2011-09-04. 

External links[edit]

Wikimedia Commons has media related to Java Embedded.