Author: Wang Sen moli.mt88g@nctu.edu.tw█Java version of Taiwan Jiaotong University Institute of Technology Management Evolution
It is believed that people who are familiar with Java history have heard that Java technology is not just called Java, but is called Oak, and the first time is the product designed for embedded systems. Later, because of the development of the Internet, the many features of Oak are just suitable for use on the network (such as portability, compiled program code), so it is called to Java, which has become a network on the network because of the internet. Superstar. Over time, it is increasingly mature, and many non-originally related applications are also slowly produced. Although Java has been used on many enterprise software, it is still very suitable for use in embedded systems. The historical evolution of the Java version is shown below:
From the figure, you can find that although Java is widely used in the table application and Applet development, Java 1.1 starts from Java 1.1, Java returns to the old road started - That is, the application above the embedded system, published the two specifications of Embedded Java and Personal Java (also referred to as PJAVA) at that time.
The Embedded Java is designed for devices that are very limited resources, and there is no device for displaying the device; Personal Java is designed to be designed for consumer electronic devices that can be online and have display systems (eg, color LCD).
Then Java version evolves to Java 2, then the three versions of J2EE, J2SE, and J2ME are divided in order to distinguish between various Java applications. All of these three versions we have described in detail above, and will not be described here. However, please remember that since Java 2 divides the Java application area into three blocks, the development of the Java program language will not spread it like Java 1.1, which helps everyone to java The application is clarified, but will not cause the chaotic situation that will become more and more packed in the future.
One of them is that when Personal Java has developed to version 1.2, there are also some Java 2 platforms related to security. █JAVA 2 Micro Edition Overview
J2ME follows the basic principles of "a single development system for a single development system in a variety of different devices. So J2ME first distinguish between all embedded devices into two types: one is a embedded device with limited computing function, and the power supply is also limited, and the other is PDA, mobile phone); the other is relatively better, and Relatively relatively sufficient embedded devices in power supply (in all ways, refrigerator, TV box (SET-TOP BOX)). Because of these two distresses, Java introduced a concept called Configuration, then limited the above operations, and the embedded device with limited power is defined in the Connected Limited Device Configuration (CLDC) specification; and another device is specified as Connected Device Configuration (CDC) specification. That is, J2ME first uses all of the embedded devices into two abstract types using the concept of Configuration.
In fact, everyone can use Configuration as a specifications for the J2ME for two types of embedded devices, and these specifications define these devices at least compliance, power supply capacity, memory size and other specifications, and also set one The class fuse library that can be used in the Java program executed on these devices, the category library defined in these specifications is a subset of Java core categories and an expansion category that is consistent with the feature characteristics. For example, on the CLDC specification, the core category that can be supported is java.lang. *, Java.io. *, Java.util. *, And the expansion category can support Java.microedition.IO. *. After two main Configuration, J2ME then defines the concept of Profile. Profile is the specification of the architecture in Configuration. The concept of Profile is to make it easier to learn how the Java program is developed on a variety of embedded devices. Therefore, in PROFILE defines the expansion category that is very relevant to a particular embedded device, how the Java program is presented in the user interface of various embedded devices is defined in the Profile. The expansion category defined in Profile is also established based on the core category defined in the underlying Configuration. The relationship between the Java program, the Profile, Configuration, the virtual machine, the operating system, and the physical device on the embedded system is shown in the following figure: From the above picture, you must find that the Java program written according to a PROFILE specification is available in addition to Directly call the expansion category defined in Profile, or directly call the core category subset and expansion category defined in the Configuration. At present, J2ME is roughly shown in Configuration and PROFILE as shown below:
As can be seen from the above figure, there are two profiles from CLDC, one is Handheld Profile, mostly in the PDA; and another is the Mobile Information Device Profile (MIDP), this profile is aimed The device is defined, and it is a mobile device for a call, and the like.
In addition, we can find that Embedded Java and Personal Java do not seem to be included in any one of two configuration, which looks a bit strange, but they are also classified in J2ME, and also derived a real-time version of Java (REAL) -Time Specification for Java. In fact, Embedded Java and Personal Java will slowly replaced by the architecture in Profile on the CDC. Take Personal Java, in fact, its specifications are compatible with the Specifications of Personal Profile. The main reason why the Embedded Java and Personal Java, two nouns, there is already a large number of real works in the market, so the short-term Personal Java will continue to evolve, and it is still unable to return. Class to J2ME's specific Profile. █CLDC, CDC and specifications of the Profile they are derived
Since Sun is divided into all embedded devices into CLDC and CDC, then let's discuss these two configuration. Connected Limited Device Configuration (CLDC) Describe the Sun's file is defined as "can be placed on your hand palm", which is the best example of the Palm Series PDA or mobile phone is the best example. The Connected Device Configuration (CDC) is defined as a "device that can be inserted on the wall" according to the Sun file, and the SET-TOP BOX is an example. Anyway, the two types of embedded devices defined in these two types are required to perform the minimum equipped needs required by the Java program. Under the bottom, CLDC and CDC respective minimum equipped requirements: equipped with / configure CLDC CDC RAM RAM and ROM plus flash memory (Flash Memory) is 128K ~ 512K. More than or equal to 256K ROM RAM and ROM plus flash memory is 128K ~ 512K. More than or equal to 512K power is usually used, so power supply is limited. Not limited
J2ME from the official document of JavaSoft is shown in the figure below:
According to the above figure, let's discuss the Profile that constructs on the Configuration. The minimum equipped device for a particular kind of embedded device is also defined in Profile. Since Profile Construction is above Configuration, its meaning is that the demand for equipment specified in Profile cannot be lower than if configure is low. At the same time, in Profile, the relevant needs of the display function, network function, and power consumption capacity will be higher than in Configuration. Under the bottom is some profile requirements:
Equipped with / Profile Foundation Profile Personal Profile MIDP
Ram
At least 512K
At least 1 MB
RAM and ROM are at least 512K
ROM
At least 1024K
At least 2.5 MB
RAM and ROM are at least 512K
power supply
Not limited
Not limited
Usually used battery, limited power supply
Network connection capability
Partial function
Partial function
Wireless communication capabilities with low frequency width
other
Have additional RAM or ROM supply execution
Have additional RAM or ROM supply execution
There is an additional RAM or ROM supply execution and storage information
Although the beautiful vision of J2ME is drawn in the official document, these specifications are needed to work hard. When we write this article, we can find only a complete CLDC specification (V1.0) for the specifications of Configuration. And the specifications of Profile are only available (V1.0), while others such as Personal Profile, Foundation Profile, RMI Profile, because it is determined according to the CDC, and the specifications of the CDC have not been decided (V0 .2), so these three profile specifications are currently only V0.x. The remaining profiles are still in drafting. If you are interested in these sketches, please visit the Java Community Process (JCP) http://java.sun.com/aboutjava/communityProcess/ follow-up progress. The bottom table is where J2ME-related JSP is located:
JSR # 000068J2METM Platform SpecificationHttp: //java.sun.com/aboutjava/communityProcess/jsr/jsr_068_j2me.html
JSR # 000030 J2ME Connected, Limited Device Configurationhttp: //java.sun.com/aboutJava/communityprocess/final/jsr030/index.htmlJSR # 000036J2METM Connected Device Configurationhttp: //java.sun.com/aboutJava/communityprocess/jsr/jsr_036_j2mecd .html
JSR # 000037Mobile Information Device Profile for the J2METM PlatformHttp: //java.sun.com/aboutjava/communityprocess/jsr/jsr_037_mid.html
JSR # 000075pda profile for j2metmhtp: //java.sun.com/aboutjava/communityprocess/jsr/jsr_075_pda.html
JSR # 000062Personal profile specificationHttp: //java.sun.com/aboutjava/communityProcess/JSR/JSR_062_Pprof.html
JSR # 000046J2METM Foundation Profilehttp: //java.sun.com/aboutjava/communityProcess/JSR/JSR_046_J2MEFND.html
JSR # 000066J2METM RMI profilehtp: //java.sun.com/aboutjava/communityprocess/jsr/jsr_066_rmime.html
Although there are not many PROFILE specifications, it is already sufficient to write Applications on PDA (Plamos) and Motorola. The readers can find the core category of the CLDC specification to find the CLDC specification, which can also find the PalmOS-related expansion category (com.sun.kjava) in addition to the core category of the CLDC specification. *) 'S instruction file. Similarly, in addition to finding the core category subset of CLDC support in Motorola J2ME SDK, we can also find the expansion category associated with the Mobile Information Device PROFILE (MIDP). *, Javax.microedition.lcdui. *, Javax.microedition.rms. *) Instruction file. The development of Personal Java is actually in a period of time, and countless companies produce acts according to their specifications, so they will be discussed in Personal Java.