Embedded Java

from Wikipedia, the free encyclopedia
Embedded Java booth at Embedded World 2014

In computer science, embedded Java is a distribution of the Java runtime environment tailored for use in embedded environments . In the current Java 8, Compact Profiles 1, 2 and 3 are provided for this. Java 9 allows the creation of a reduced, adapted Java runtime environment through modularization.

history

Java was originally designed for use in embedded environments . In the 1990s, these were Internet browsers, set-top boxes and second-generation cell phones. Since the end of the 90s, however, Java has predominantly been used in server operations. An optimized form of the Java Virtual Machine, the Java Micro Edition (J2ME), was provided for embedded solutions .

Current embedded solutions based on Java are based on the Java Standard Edition and are mainly used in device classes with 32-bit CPUs, 500 + MHz and 128 + MB memory. Such a device would have been considered an industrial PC in the 90s.

background

An operating system / runtime environment with the following properties is required for embedded solutions :

  • Predictable runtime behavior and high reliability (mostly through the use of an RTOS )
  • high stability and availability of the overall solution over long periods of time without restarting the system
  • Reusability of components (mostly through the use of an appropriate programming language )
  • greatest possible portability of the software components
  • Possibility of pre-development on conventional PCs (mostly via simulation )
  • Debugging interfaces on the target

Java use

In the basic form known from enterprise solutions (J2EE) or the desktop (J2SE), the Java programming language does not actually have the necessary resource-saving properties. However, there are highly optimized JVMs from other providers that have been specially optimized for embedded systems with regard to memory and computing time requirements (J2ME).

However, because the corresponding applications can still be developed on the desktop, prototyping is simplified and thus a shorter time-to-market , i.e. H. Faster time to market, innovative product ideas favored.

The combination of Java and OSGi is often used here to create a dynamic runtime environment with a service-oriented focus. This can be used together with native applications.

Examples

Examples of embedded Java applications that do not use OSGi are:

Web links

Commons : Embedded Java  - collection of images, videos and audio files