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/