
Embedded Java refers to versions of the
Java program language that are designed for
embedded systems
An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded'' ...
. Since 2010 embedded Java implementations have come closer to standard Java, and are now virtually identical to the Java Standard Edition. Since Java 9 customization of the Java Runtime through modularization removes the need for specialized Java profiles targeting embedded devices.
History
Although in the past some differences existed between embedded Java and traditional PC based Java, the only difference now is that embedded Java code in these
embedded systems
An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded'' ...
is mainly contained in constrained memory, such as
flash memory
Flash memory is an electronic non-volatile computer memory storage medium that can be electrically erased and reprogrammed. The two main types of flash memory, NOR flash and NAND flash, are named for the NOR and NAND logic gates. Both u ...
. A complete convergence has taken place since 2010, and now Java software components running on large systems can run directly with no recompilation at all on
design-to-cost
Design-to-Cost (DTC), as part of cost management techniques, describes a systematic approach to controlling the costs of product development and manufacturing. The basic idea is that costs are designed "into the product", even from the earliest co ...
mass-production devices (such as consumers, industrial,
white goods
A major appliance, also known as a large domestic appliance or large electric appliance or simply a large appliance, large domestic, or large electric, is a non-portable or semi-portable machine used for routine housekeeping tasks such as cooki ...
, healthcare, metering, smart markets in general)
CORE embedded Java API for a unified Embedded Java ecosystem

In order for a software component to run on any Java system, it must target the core minimal API provided by the different providers of the embedded Java ecosystem. Companies share the same eight packages of pre-written programs. The packages (java.lang, java.io, java.util, ... ) form the CORE Embedded Java API, which means that embedded programmers using the Java language can use them in order to make any worthwhile use of the Java language.
Old distinctions between SE embedded API and ME embedded API from ORACLE
Java SE embedded is based on desktop
Java Platform, Standard Edition
Java Platform, Standard Edition (Java SE) is a computing platform for development and deployment of portable code for desktop and server environments. Java SE was formerly known as Java 2 Platform, Standard Edition (J2SE).
The platform uses J ...
. It is designed to be used on systems with at least 32 MB of
RAM, and can work on
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
ARM,
x86, or
Power ISA, and
Windows XP
Windows XP is a major release of Microsoft's Windows NT operating system. It was release to manufacturing, released to manufacturing on August 24, 2001, and later to retail on October 25, 2001. It is a direct upgrade to its predecessors, Wind ...
and
Windows XP Embedded
Windows XP, which is the next version of Windows NT after Windows 2000 and the successor to the consumer-oriented Windows Me, has been released in several editions since its original release in 2001.
Windows XP is available in many languages. In ...
architectures.
Java ME embedded used to be based on the
Connected Device Configuration subset of
Java Platform, Micro Edition
Java Platform, Micro Edition or Java ME is a computing platform for development and deployment of portable code for embedded and mobile devices (micro-controllers, sensors, gateways, mobile phones, personal digital assistants, TV set-top ...
.
It is designed to be used on systems with at least 8 MB of
RAM, and can work on
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
ARM,
PowerPC
PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple– IBM ...
, or
MIPS architecture
MIPS (Microprocessor without Interlocked Pipelined Stages) is a family of reduced instruction set computer (RISC) instruction set architectures (ISA)Price, Charles (September 1995). ''MIPS IV Instruction Set'' (Revision 3.2), MIPS Technologies, ...
.
See also
*
Excelsior JET Embedded
*
Sun SPOT Sun SPOT Project
*
Real-Time Specification for Java
*
Azul Systems
*
JamaicaVM
*
STM32 STM32J part numbers. MCU that embeds an embedded Java engine
References
External links
{{Commons category, Java Embedded
Core java For interview Core java Interview Questions
: Java SE for Embedded technology from Oracle Corporation
Java SE for Embedded Development Made Easy: Webcast covering development, troubleshooting, deployment
Java platform
Embedded systems
Java virtual machine