J2ME (Java Platform, Micro Edition) provides a Java platform for resource-constrained devices like cell phones and PDAs. It includes configurations like CLDC (Connected Limited Device Configuration) and CDC (Connected Device Configuration) that define the Java features and APIs supported. Profiles like MIDP (Mobile Information Device Profile) build on these configurations to provide functionality for specific device types. Optional packages can additionally extend the features available to applications.