The latest Sun Wireless Toolkit 2.5.1 supports MIDP 2.1/CLDC 1.1 for developing mobile device application.
The latest MIDP 2.1 specification does not bring new features and UI but instead it focuses to reduce device fragmentation by specifying a consistent set of Java technologies that must present in MIDP 2.1 capable phone. MIDP 2.1 also reinforced MIDP 2.0 specification by making LCDUI layout directive mandatory, javax.microedition.io.SocketConnection and javax.microedition.io.HTTPConnection is no longer optional and other requirements.
Best of all, MIDP 2.1 specs explicitly states the underlying VM for its implementation must comply with CLDC 1.1 or optionally with CDC. This means you can create MIDP 2.1 mobile application without thinking twice about application portability with CLDC 1.0/CLDC 1.1.
What’s the big deal with CLDC 1.0 and CLDC 1.1
Although it seems almost identical on the surface, CLDC 1.0 has a major drawbacks in which it does not support floating point numbers, operation and datatype/class. All floating point operation are done through 3rd party class implementation, which cant be accurate for large numbers
CLDC 1.1 on the other hand supports floating point data type out from the box, making floating point operation much more faster and more accurate than using 3rd party floating point number class implementation.
Where can I find MIDP 2.1 phones to play with?
The latest Nokia S40 5th edition phone models is the first in-line to feature MIDP 2.1 which you can browse through Forum Nokia page.
Hopefully the introduction of MIDP 2.1 will pave the way for JavaME device ‘standardization’ across phone vendors that will increase application portability across mobile devices :)