Software Directory: Java 2 Micro Editions

Feb. 5, 2001
Java 2 Micro Editions Sun's Java 2 Micro Edition (J2ME) delivers an embedded development framework that can be enhanced incrementally. The Java Virtual Machine (JVM) is the base on which configurations are built,...
Java 2 Micro Editions Sun's Java 2 Micro Edition (J2ME) delivers an embedded development framework that can be enhanced incrementally. The Java Virtual Machine (JVM) is the base on which configurations are built, and profiles are built on configurations. Applications are typically built on a profile, although it's possible to build on a configuration.

The simplest configuration specified is the Connected Limited Device Configuration (CLDC). It incorporates a basic user interface and basic connectivity support. The CLDC is built on the K virtual machine (KVM), which is a basic JVM. The Mobile Information Device Profile (MIDP) is based upon this simple configuration, and is now finding a home in Internet cellphone devices.

The Connected Device Configuration (CDC) is a superset of the CLDC. It targets devices with fast, reliable network connectivity and a user interface based on the Java Abstract Window Toolkit (AWT). The Personal profile is the most common application base. It's built on the Foundation profile. This combination is showing up in Internet appliances.

Configurations and profiles are specified by a Java Specification Request (JSR). The Java Community Process (JCP) develops and approves JSRs.

See associated figure

Highlights Java leads the pack for platform-based development. It spans the development space from tiny smart-card environments to enterprise servers running the Java 2 Enterprise Edition (J2EE). Current Java 2 technology is based on the 1.3 version of the Java Developers Kit (JDK).

The Java 2 Micro Edition (J2ME) covers the medium- to high-end embedded space. It builds on the Java 1 specifications for PersonalJava and EmbeddedJava that are implemented using JDK 1.2 or earlier versions.

Java implementations and development tools of various scope run on almost every available processor and operating system. Java applications compile to Java byte codes. Java is one of the few environments with processors specifically designed to execute its code directly. A number of implementations support native instruction sets in addition to Java.

Although Java applications are often interpreted, hardware boosts aren't the only technology used to improve performance. Just-in-time (JIT) compilation to native code, ahead-of-time (AOT) compilation, and dynamic code recompilation are only a few of the technologies employed in Java environments.

Java's support for garbage collection improves programmer productivity. But it's just one aspect of an environment that supports everything from real-time operating systems to the Java Debug Wire Protocol (JDWP), which is especially useful for headless embedded devices.

Embedded Java technology encompasses a vast array of existing and developing technologies. Java Beans support componetized development while the Java Embedded Server (JES) provides a modular Internet platform, allowing developers to quickly create networked devices.

The Jini network technology provides a way for devices to advertise and locate network services. Interest in Jini has hit a number of highs and lows, but it remains a useful technology.

Sun still has significant control over the Java platform. The Java Community Process (JCP) provides significant transparency when it comes to developing standards, however. J2ME profiles and configurations are defined in Java Specification Requests (JSRs). JSRs are pending for a number of new profiles.

Java enjoys significant third-party support in all areas, making it one of the most desirable development platforms around.

Check out java.sun.com for more information.

FEATURES
  • Hierarchical profile architecture
  • Compatible with Java 1 designs
  • Extensive 3rd party support
  • Based on Java Development Kit (JDK) 1.3
  • 160 KB base, 2 MB typical
  • Jini network technology
  • Java Debug Wire Protocol
  • Java Embedded Server (JES)
  • Upward compatibility with Standard and Enterprise Editions
  • Java Community Process standards
  • LANGUAGE
  • Java
  • Single inheritance classes
  • Multiple interfaces
  • Garbage Collection
  • Dynamic class loading
  • Virtual machine architecture
  • Java Bean components
  • PLATFORMS
  • Most processors including x86, MIPS, ARM, and PowerPC
  • Most OSes including Solaris, Linux, QNX, and Windows
  • Most Web browsers as plug-in, including Internet Explorer and Netscape
  • About the Author

    William G. Wong | Senior Content Director - Electronic Design and Microwaves & RF

    I am Editor of Electronic Design focusing on embedded, software, and systems. As Senior Content Director, I also manage Microwaves & RF and I work with a great team of editors to provide engineers, programmers, developers and technical managers with interesting and useful articles and videos on a regular basis. Check out our free newsletters to see the latest content.

    You can send press releases for new products for possible coverage on the website. I am also interested in receiving contributed articles for publishing on our website. Use our template and send to me along with a signed release form. 

    Check out my blog, AltEmbedded on Electronic Design, as well as his latest articles on this site that are listed below. 

    You can visit my social media via these links:

    I earned a Bachelor of Electrical Engineering at the Georgia Institute of Technology and a Masters in Computer Science from Rutgers University. I still do a bit of programming using everything from C and C++ to Rust and Ada/SPARK. I do a bit of PHP programming for Drupal websites. I have posted a few Drupal modules.  

    I still get a hand on software and electronic hardware. Some of this can be found on our Kit Close-Up video series. You can also see me on many of our TechXchange Talk videos. I am interested in a range of projects from robotics to artificial intelligence. 

    Sponsored Recommendations

    Comments

    To join the conversation, and become an exclusive member of Electronic Design, create an account today!