HomeDigital EditionSys-Con RadioSearch Java Cd
Advanced Java AWT Book Reviews/Excerpts Client Server Corba Editorials Embedded Java Enterprise Java IDE's Industry Watch Integration Interviews Java Applet Java & Databases Java & Web Services Java Fundamentals Java Native Interface Java Servlets Java Beans J2ME Libraries .NET Object Orientation Observations/IMHO Product Reviews Scalability & Performance Security Server Side Source Code Straight Talking Swing Threads Using Java with others Wireless XML

Some of the more commonly asked questions on the various forums for J2ME seem to be, "What is J2ME?" and "Is <so-and-so-product> a part of J2ME?" Here is where you will find all the APIs that fall beneath J2ME's umbrella, and the packages you will find within those APIs.

Connected, Limited Device Configuration (CLDC) - Version 1.0
java.io      input and output through data streams
java.lang      fundamental classes
java.util      collections, data and time facilities, other utilities
javax.microedition.io      generic connections classes

You can find more information on CLDC at the following URL:
http://java.sun.com/products/cldc/

Connected Device Configuration (CDC) - Version 0.2
java.io      input and output
java.lang      fundamental classes
java.lang.ref      reference object classes
java.lang.reflect      reflective information about classes
java.math      BigInteger support
java.net      networking support
java.security      security framework
java.security.cert      parsing and management of certificates
java.text      used for handling text, dates, numbers and messages
java.text.resources      contains a base class for locale elements
java.util      collections, date/time, miscellaneous functions
java.util.jar      reading Jar files
java.util.zip      reading Zip files
javax.microedition.io      connections classes

Look for more CDC information here:
http://java.sun.com/products/cdc/

Mobile Information Device Profile - Version 1.0
java.io
java.lang      CLDC, plus an additional exception
java.util      CLDC, plus timer facilities
javax.microedition.io      networking support based upon the CLDC framework
javax.microedition.lcdui      for user interfaces for MIDP applications
javax.microedition.rms      persistent data storage
javax.microedition.midlet      defines applications and interactions between app and environment

The products page for MIDP is here:
http://java.sun.com/products/midp/

Foundation Profile - Version 0.2
java.io      see CDC
java.lang      see CDC
java.lang.ref      see CDC
java.lang.reflect      see CDC
java.math      see CDC
java.net      see CDC
java.security      see CDC
java.security.cert      see CDC
java.security.acl      access control lists
java.security.interfaces      interfaces for generating keys
java.security.spec      key specifications, and algorithm parameter specifications
java.text      see CDC
java.text.resources      see CDC
java.util      see CDC
java.util.jar      see CDC
java.util.zip      see CDC
javax.microedition.io      see CDC

The profile products page is here:
http://java.sun.com/products/foundation/

J2ME RMI Profile (JSR #66)
This profile interoperates with J2SE RMI, and provides Java platform-to-Java platform remote method invocation for Java devices.

J2ME Game Profile (JSR #134)
This is a proposed Micro Edition specification, so nothing is yet defined. According to the JCP home page for JSR #134 (the Game Profile), the following areas will be covered:
1.      3D Modeling and Rendering for Games
2.      3D Physics Modeling for Games
3.      3D Character Animation for Games
4.      2D Rendering and Video Buffer Flipping for Games
5.      Game Marshalling and Networked Communication
6.      Streaming Media for Games
7.      Sound for Games
8.      Game Controllers
9.      Hardware Access for Games

PDA Profile (JSR #75)
The PDA Profile will provide UI and storage APIs for small, resource-limited handheld devices.

PersonalJava Specification - Version 1.2a
java.applet      full support from JDK1.1.8
java.awt      modified from JDK1.1.8
- note: there is an extra method for PJ for double-buffering in java.awt.Component
java.awt.datatransfer      full support
java.awt.event      full support
java.awt.image      full support
java.awt.peer      modified
java.beans      full support
java.io      modified
java.lang      modified
java.lang.reflect      modified
java.math      optional - may or may not be supported
java.net      modified
java.rmi      optional
java.rmi.dgc      optional
java.rmi.registry      optional
java.rmi.server      optional
java.security      modified
java.security.acl      unsupported
java.security.cert      some classes required, some optional
java.security.interfaces      required if code signing is included
java.security.spec      required if code signing is included
java.sql      optional
java.text      full support
java.text.resources      modified
java.util      modified
java.util.jar      required if code signing is included
java.util.zip      modified

Additional PersonalJava specific packages are:
com.sun.awt      for mouseless environments
com.sun.lang      a couple of error & exception classes
com.sun.util      for handling timer events

PersonalJava will eventually be superseded by the Personal Profile. For more information on the PersonalJava Application Environment:
http://java.sun.com/products/personaljava/

Java TV - Version 1.0
javax.tv.carousel      access to broadcast file and directory data
javax.tv.graphics      root container access and alpha blending
javax.tv.locator      referencing data and resources
javax.tv.media      controls and events for management of real-time media
javax.tv.media.protocol      access to generic streaming data in a broadcast
javax.tv.net      IP datagram access
javax.tv.service      service information access
javax.tv.service.guide      supporting electronic program guides
javax.tv.service.navigation      services and hierarchical service information navigation
javax.tv.service.selection      select a service for presentation
javax.tv.service.transport      information about transport mechanisms
javax.tv.util      creating and managing timer events
javax.tv.xlet      communications interfaces used by apps and the app manager

Get off that couch and check out the JavaTV page at the following URL:
http://java.sun.com/products/javatv/

Java Embedded Server - Version 2.0
com.sun.jes.service.http      servlet/resource registrations
com.sun.jes.service.http.auth.basic      http basic authentication
com.sun.jes.service.http.auth.users      management of users and their access
com.sun.jes.service.timer      for handling timer events
org.osgi.framework      consistent model for app. dev., supports dev. and use of services
org.osgi.service.device      detection of devices
org.osgi.service.http      http access of resources
org.osgi.service.log      logging facility

You can find more information on Embedded Server on the following site:
http://www.sun.com/software/embeddedserver/

Java Card - Version 2.1.1
java.lang      fundamental classes
javacard.framework      core functionality of a JC Applet
javacard.security      security framework
javacardx.crypto      extension package with security classes and interfaces

Next time you use that American Express Blue card, you may want to know how it works, so take a look here:
http://java.sun.com/products/javacard/

All Rights Reserved
Copyright ©  2004 SYS-CON Media, Inc.
  E-mail: [email protected]

Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. SYS-CON Publications, Inc. is independent of Sun Microsystems, Inc.