阅读更多
Java™ Platform, Micro Edition
http://java.sun.com/javame/technologies/index.jsp
Java ME is divided into configurations, profiles and optional packages.
Configurations are specifications that detail a virtual machine and a base set of class libraries which provide the necessary APIs that can be used with a certain class of device. They provide the base functionality for a particular range of devices that share similar characteristics, such as network connectivity and memory footprint. A configuration, for example, might be designed for devices that have less than 512 KB of memory and an intermittent network connection. The virtual machine is either a full Java Virtual Machine (JVM), as described in the specification—or some subset of the full JVM. The set of APIs is customarily a subset of the Java SE APIs. Currently, there are two Java ME configurations: the
Connected Limited Device Configuration (CLDC) and the
Connected Device Configuration (CDC).
Profiles complement a configuration by adding more specific APIs to make a complete runtime environment for running applications in a specific device category. A profile is a set of higher-level APIs that further define the application life-cycle model, the user interface, persistent storage and access to device-specific properties. A widely adopted example is to combine CLDC with the
Mobile Information Device Profile (MIDP) to provide a complete Java application environment for mobile phones and other devices with similar capabilities.
Optional packages extend the Java ME platform by adding functionality to the technology stack that includes either CLDC or CDC and an associated profile(s). Created to address very specific application requirements, optional packages offer standard APIs for using both existing and emerging technologies such as database connectivity, wireless messaging, multimedia, 3D graphics, and Web Services. Because optional packages are modular, device manufacturers can avoid carrying the overhead of unnecessary functionality by including only the packages an application actually needs. Optional packages can be implemented alongside virtually any combination of configurations and profiles.
KVM的设计者Antero Taivalsaari,最早在Sun Microsystems参与Spotless Project,这个项目才是J2ME的最早起源。由于Antero Taivalsaari曾经在世界知名电信设备制造商工作,所以他有了在手机上开发JVM的概念,后来得到公司支持,就有了各位所知的KVM(K Virtual Machine)。
http://sunyn.blogchina.com/
I co-started the Spotless research project at Sun Labs in Mountain View, California, with Bill Bush in January 1998. As part of that effort, I wrote the original version of the K Virtual Machine (KVM) that became the starting point of Java Platform, Micro Edition (Java ME™), also known as Mobile Java. In January 2006, the number of Java ME enabled mobile phones and other devices exceeded 1 billion worldwide.
Because Qualcomm controls BREW in a much closer way than Sun can control J2ME, they can move ahead with new features a lot quicker than us. But in the end I believe that open standards will win.
http://www.cs.tut.fi/~taivalsa/main.html