> Java ME started out as an effort to bring Java back to its original
> roots: as a language and environment for writing embedded applications.
> The baseline ME profiles are pretty bare; I did some CLDC development
> years ago and had to implement my own buffered streams and various data
> structures just to get by. Even the biggest profiles are still fairly
> restricted, and I don't believe any of them have ever graduated beyond
> Java 1.3-level featuresets. So Sun did a great job of getting Java ME on
> devices, back when people cared about Sun...and then they let mobile Java
> stagnate to a terrible degree while they spent all resources trying to
> get people to use Java EE and trying to get Java EE to suck less.
> Android breaks new ground in the device category because it is a Java 2
> Standard Edition(J2SE) platform, whereas the previous generations of
> Java-based devices are predominantly Java Micro Edition (Java ME)
> based. There are significant differences between J2SE and Java ME in
> terms richness of libraries and APIs and this creates a big opportunity
>for improved application capabilities. Most notable are the
> full-featured Java 5 language support, libraries like java.util.* and
> collections, and full multi-threaded support built on the Android Linux
> kernel.
> As of 2008, all Java ME platforms are currently restricted to JRE 1.3
> features and uses that version of the class file format (internally
> known as version 47.0). Should Sun ever declare a new round of Java ME
> configuration versions that support the later class file formats and
> language features, such as those corresponding JRE 1.5 or 1.6 (notably,
> generics), it will entail extra work on the part of all platform vendors
> to update their JREs.