J2ME, or rather Java 2 Micro Edition, is the optimized version of Java 2 Standard Edition J2SE, studied for mobile devices. A cellular phone or a J2ME palm can install and run a MIDlet with few Kbytes.
Aside from the limitations in memory and the processing power, J2ME must also adapt to a particularly reduced display, for example a small cellular phone can have 12.288 pixel (96 x 128), or rather a PDA of 20.000, even if with the passing of time the technological evolution in this area makes huge strides constantly reducing the gap between mobile and resident devices.
It is based on a Java Virtual Machine, present in the terminals, which interprets and runs the application. J2ME includes two levels of configuration (CDC and CLDC) and furthermore, the "Profile" MIDP level.