Login

Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

ARM websites use two types of cookie: (1) those that enable the site to function and perform as required; and (2) analytical cookies which anonymously track visitors only while using the site. If you are not happy with this use of these cookies please review our Privacy Policy to learn how they can be disabled. By disabling cookies some features of the site will not work.

Oracle

Java Embedded Technology Enables End-to-End Solutions

ARM processors and Java software are the ideal combination for bringing embedded systems to market in record time, without compromising performance or security.

 
 


 

Java, the leading embedded platform, is a trusted, proven platform ideally suited to embedded systems where security and reliability are critical. Java's modular architecture and efficient language lower costs by shortening development time and easing maintenance requirements. Unparalleled industry support delivers broad availability of partner technologies, ongoing innovation, and prevents proprietary lock-in, while software's largest base of developers ensures ready staffing.

  • More than three billion devices are powered by Java technology
  • One billion Java downloads each year
  • 80% of mobile developers target the Java platform
  • More than 150 million Java-based TV devices have been deployed
  • Over 8 billion Java Card units have been shipped since its introduction

Simply put, Java makes embedded systems safer, more reliable, and easier to develop.

Java Optimizations for ARM

Oracle and ARM have collaborated extensively to deliver outstanding performance of both Java ME and Java SE on ARM architecture microprocessors. As of July, 2011, Oracle releases fully optimized Java SE Embedded builds for ARM at launch of each update.

Optimizations for ARM provided in recent Oracle Java SE Embedded releases include:

  • Dynamic detection of which CPU variant the JVM is running on to use ARMv6/ARMv7 instructions when available
  • Optimized synchronization code depending on whether we are running on uniprocessor
  • Multi-core support including parallel garbage collection and background JIT compilation
  • Reduced static and dynamic footprint
  • Server (C2) Just-in-Time compiler support targeting performance improvements for traditional server applications
  • Hand-coded memcpy, array copy routines
  • Dynamic floating point detection for VFPv3 D16, D32 CPUs
  • Software floating point support for non VFP CPUs

Future optimizations under consideration include: 

  • Hardfloat binaries (instead of VFP using softfp)
  • Thumb2 compiled binaries - typically reduces the size of the binaries by 21%
  • Tiered Compilation - improves startup of Server VM by using Client JIT initially, Server JIT will optimize frequently used methods post startup        
  • G1 Garbage Collector (Garbage First)

In September 2012, Oracle announced a new product in its Java Platform, Micro Edition (Java ME) product portfolio, Oracle Java ME Embedded a complete client Java runtime designed and optimized to meet the unique requirements of small embedded, low power devices such as micro-controllers and other resource-constrained hardware without screens or user interfaces.

This release brings a commercial implementation of Java for small footprint devices based on the ARM architecture, including the Cortex -M and Cortex-A processor families. Features include:

  • On-the-fly application downloads and updates
  • Remote operation, often in challenging environments
  • Ability to add new capabilities without impacting the existing functions
  • Support for hardware with as little as 130 kB RAM and 350 kB ROM

The devices supporting our daily activities are becoming more sophisticated and better connected at an astonishing rate. Java technology is ideally suited to support this complexity, whether embedded in a lightweight, low-cost secure ID card, supporting multiple systems of a jumbo jet, or any conceivable application between.

Java is a trusted, proven platform ideally suited to embedded systems where security and reliability are critical. Java's modular architecture and efficient language lower costs by shortening development time and easing maintenance requirements. Widespread industry support ensures broad availability of partner technologies, ongoing innovation, and prevents proprietary lock-in. Java makes embedded systems safer, more reliable, and easier to develop.

From enterprise-class servers to a 32K SIM card, embedded Java technology scales to fit any hardware applications:

Java Embedded Small

Typical processor: 10MHz or faster
Footprint range: 50KB - 1MB
Typical devices: RFID readers, intelligent power modules, feature phones, SIM card
Java product: Java Card, Oracle Java ME Embedded

Java Embedded Medium

Typical processor: 100MHz or faster
Footprint range: 1-10 MB
Typical devices: Routers and switches, factory automation, Blu-ray Disc players and set-top boxes
Java Product: Oracle Java Embedded Client

Java Embedded Large

Typical processor: 250MHz or faster
Footprint range: 10-100 MB
Typical devices: ATMs, medical imaging systems, multi-function printers
Java product: Java SE Embedded

Supported by the world's largest community of developers and deployed in over three billion devices, Java is a proven, reliable and secure platform for building embedded solutions.


The expected accelerated growth of the “Internet of Things” in industries such as home networking, medical devices, energy grid management, industrial automation, M2M and wireless devices is also increasing demand for collecting and managing data and data traffic from numerous embedded devices. The Oracle Java Embedded Suite allows customers to aggregate, store and transmit data securely to and from these resource constrained devices and helps ensure timely and low cost data concentration for M2M or M2M-like systems. The Oracle Java Embedded Suite will decrease time to market while retaining tight control on development, production and support costs. The Oracle Java Embedded Suite adds database, RESTful web services, servlet facilities, and Java EE technology to Oracle Java SE Embedded.
  • Java SE Embedded 7 - Java's state-of-the-art platform optimized for a spectrum of embedded devices
  • Java Data Base (Java DB) - Oracle's complete multi-user relational database engine ideal for memory constrained devices
  • GlassFish for Embedded Suite - a subset of the GlassFish Web profile (based on Java Enterprise technology)
  • Jersey Web Services Framework - a robust framework for implementing RESTful Web Services

 

 

 

 


Data Sheets

Embedded Java Technology Enables End-to-End Solutions

Oracle Java SE Embedded

Oracle Java ME Embedded Client (CDC)

Oracle Java ME Embedded (CLDC)

Oracle Java Embedded Suite

Downloads

Oracle Java SE Embedded (ARM v5/6/7)

Oracle Java ME Embedded (ARM v5/6/7)

Oracle Java Embedded Suite (ARM v6/7)

Java ME Software Development Kit (SDK)

Webcasts

Java Embedded @ JavaOne 2012 keynotes

JavaOne 2011 session: “ARM: Over 6 Billion Served

Java Spotlight: Java FX for Embedded Systems

White Papers

                        IDC White Paper "Ghost in the Machine: Java for Embedded Development"
                        IDC Report: The State of Java (PDF)

Raspberry Pi

Getting Started with Java® SE Embedded on the Raspberry Pi

Blog: “Quickie Guide to Getting Java Embedded Running on Raspberry Pi

Java User Group Webcast: “Raspberry Pi: Developing with Java Embedded Technology

Social

Java.net Embedded Community: Projects, forums, events, many resources

Java Embedded Forums

Twitter@JavaEmbedded
The Java Source Blog

YouTube Java Channel