I am reading the j2me book written by sam. in my mind,i thought: CLDC is for specfic device,has some fundanmental API library,such as:java.lang;java.util; MIDP is profile for some cldc,seems like some addtional api library besides the CLDC,such as javax.microediton.lcdui;javax.microedition.rms;
in one word both cldc and midp are define API,is just the API content is different,am i right???
I'm pretty new to J2ME, so take my comments worth a grain of salt. From my point of view as a developer, the main difference between MIDP and CLDC is that MIDP adds to the API available. As far as I know, MIDP contains all the classes defined by CLDC and adds some more specific ones, especially the user interface classes.
"J2ME has two main branches. The first is based on the Connected, Limited Device Configuration (CLDC). This configuration is for small wireless devices with intermittent network connections, like pagers, mobile phones, and Personal Digital Assistants (PDAs). The Mobile Information Device Profile (MIDP), which is based on CLDC, was the first finished profile and thus the first finished J2ME application environment. The other major branch of the J2ME tree is based on the Connected Device Configuration (CDC). This configuration is for larger devices ..."
Actually if you only download the KVM, then you will only get the classes that are defined in the CLDC. So in essence there is a way to get the CLDC classes only. You are just limited with the subset of J2SE.