Before SUN did not divide all versions of Java, the Java class library, environment, and programs, which were collectively referred to as KJAVA, and the virtual machine in which the KJAVA program was executed. Later, SUN made a regulations and restrictions in Java's different development directions for Java specifications, so several versions of Java were produced. The use of the embedded device is J2ME, and two levels of Configuration and Profile are defined under J2ME. So we have the CLDC and MIDP we used in your mobile phone. KJAVA usually refers to the application programming environment of the Java system computed by the program, such as an embedded system application programming environment.