EmbeddedJava is Sun Microsystems' software development platform for dedicated-purpose devices with embedded systems, such as products designed for the automotive, telecommunication, and industrial device markets. In contrast with the original Java platform and PersonalJava, EmbeddedJava does not include a set of core APIs (application program interfaces) but enables APIs to be configured for the requirements of each particular application. By excluding non-essential components, EmbeddedJava responds to the memory constraints of many embedded systems. Developers may use any fields and methods from the core Java Development Kit (JDK) other than java.applet. Programs are written in Java, and the code converted into a condensed version for the particular application. Programs are reusable and portable among platforms.
The EmbeddedJava tool set includes: the JavaFilter, which is used to create a list of the fields and methods used to run the Java program; the JavaCodeCompact, which selects from that list the fields and methods required by the particular application from the full set, removes unnecessary platform components, and creates a representation of the set of data structures; and the JavaDataCompact which enables linking to various external files (such as HTML, audio, or image files).