For those who know about Java, it is platform independent because of the fact that it runs on a virtual enviornment, the JAVA RUNTIME ENVIORNMENT(JRE). Similarly J2ME too has its own virtual enviornment to run its application.
Now I want you to notice another general difference (its common sense rather) if java is such powerful programming language then why was there a need to create J2ME?
The answer is simple becuase though java wanted to spread its realm over all computational devices, it observed that these devices had limited amount a memory, limited amout of space and in some cases though being used for the same purpose the same devices(such as mobile phones) were available in a wide range of configuration.
Now if you have understod what has been said above, then you can easily understand the architecture of J2ME
I . Most mobile phones have very limited memory and storage. therefore they are Limited Devices . Hence
- Connected Limited Device Configuration (CLDC)was designed for them.
- CLDC work in an envoinrm\nmet the KVM(K virtual machine)
- Since the configuration vary from phone to phone, Information reguarding the phone is required therefore Mobile Information Device Profile (MIDP) was created.
Now that you’ve understood the above let us look at device that have larger storage and memory than normal Mobile phones(Deevices like PALM TOP),these have capacity to run application more powerful those that can run on java enabled mobile phones.But still they are not powerful enough to run at the level of desktop applications for these Connected Device Configuration (CDC) was created .As for the profile, it can be created by the user but runs on a skeleton profile the Foundation Profile.
We’ll be stressing on CLDC devices, and thier programming in this Section.
The Classes in the CLDC package
- javax.microedition.io
- java.io
- java.lang
- java.util
Except for javax.microedition.io the other classes are taken from J2SE(the normal java),though some features have been removed. J2ME does not support floating point operations.
The Classes in the MIDP package
- javax.microedition.lcdui // LCD UI (user interface) -responsible for display feature(including command) ,most of the things you see on the screen
- javax.microedition.midlet
- javax.microedition.rms
Hope this has been of some help.
Posted by codewurd