Computing is everywhere today. More and more people began to think that after many people share a computer mainframe era, one person a computer personal PC era, the next era is a person multiple computing equipment of the universal Computing age (ubiquitous COMPUTING,IBM called pervasive Computing). Computing devices will expand from a single PC to a wide variety of sizes and functions, ranging from household consumer electronics to personal carry-on, wearing, car-mounted Mobile information processing equipment, and diversification is the biggest feature in this field.
The network is the most important value-added feature in this field. When the mobile phone can be wireless online anytime, anywhere, PDA can sync with personal pc, car pc can get online GPS map data, these isolated devices can play the biggest role.
Platform independence and network capabilities are the Java design goals and capabilities (in fact, Java's original design goal is to use in the consumer electronics domain, but later on the PC and the server has been developed). The "once written, run everywhere" platform-independent, network-multiple-device networking mechanism (JINI) is clearly a critical software condition in this area. The Java standard in this area is J2ME.
The origin of J2ME
Java's biggest goal and characteristics, is "write once, run everywhere" platform independent. But, naturally, as Sun realizes, "one size does ' NT fit all", a set of standards cannot adapt to different requirements. As a result, Java technology currently has a total of three sets, respectively, for different platforms and applications.
Standard Edition (J2SE, Standard Edition): Personal and low-end business applications for desktop PCs and workstations.
Enterprise Edition (Java EE, Enterprise Edition): For server-side enterprise applications, support for Servlets, JSP and XML, and so on.
Micro Edition (J2ME, pocket version, also translated into a small version or mobile version. For limited memory, display and processing capabilities, mainly in the area of consumer electronics and embedded devices (which is actually the original target area of Java language design).
In the area of consumer electronics and embedded devices, memory from hundreds of K to dozens of m, from no screen to WEB-TV,CPU from low-power embedded processors to 206MHz RISC processors, the differences in hardware conditions are quite large. This makes J2ME standards need to have different levels and categories to adapt to this complex area, so J2ME is much more complex than J2SE and Java-EE standards. There have been a number of articles on the J2ME standard, but few an article clearly and concisely explain the reasons for J2ME's architectural division, and only by clearly dividing the basis of the division and why it can better understand the standard. Especially since hardware development is fast, it is likely that after a period of time, the device will be lost if it is divided into the original definition area. The author has read and browsed a considerable number of articles and introductions, but some issues have only recently been more clear, and readers to share my understanding, but also hope to get suggestions and corrections. Therefore, the following descriptions try not to repeat some of the specific details that have been introduced in other articles. Instead of translating the literal definition of the specification, but analyzing the reason for the specification, the true standard of classification, from the developer's point of view, so that the reader can in this complex and changeable field more accurately grasp the difference of technology and the pulse of the trend, Better prepare for the vast opportunities ahead.