Hello ranchers, I 'm starting on j2me and i'm confused about Kvirtual machine & Cvirtual machine ,do Cvirtual machine has any thing to do with C language thanks in advace ... SCJP(86%) SCWCD(89%) J2EE EC(80%)
The KVM and the CVM are targeted at two different types of consumer devices. The former runs on small devices with small memory footprint and computation power (cell phones) while the latter is used on more powerful devices with more memory and computation power (PDA,...) Here is what Sun says about them: KVM:
...Sun's K virtual machine (KVM) is a virtual machine designed from the ground up with the constraints of inexpensive mobile devices in mind. Named to reflect that its size is measured in the tens of kilobytes, CLDC is suitable for devices with 16/32-bit RISC/CISC microprocessors/controllers, and with as little as 160 KB of total memory available -- 128 KB of which is for the storage of the actual virtual machine and libraries themselves.
Typically, these devices run a 32-bit microprocessor/controller and have more than 2.0MB of total memory for the storage of the virtual machine and libraries. CDC contains the CVM virtual machine. CVM is a full-featured virtual machine designed for devices needing the functionality of the Java 2 virtual machine feature set, but with a smaller footprint.
[ February 26, 2002: Message edited by: Valentin Crettaz ]
The KVM and the CVM are both Java virtual machines. The KVM is meant to run on very constrained devices and does not support the full feature set of a standard J2SE VM. The CVM, on the other hand, supports all the features of a J2SE VM but it is a new VM written with portability and modularity in mind. From an application developer point of view it doesn't really matter which VM is being used, what matters is which J2ME configuration (CLDC or CDC) is being used. It's up to the device manufacturer to supply a VM that supports the configuration, and they may choose to license the KVM or CVM from Sun or else write their own from scratch or use someone else's.
CVM was initially standing for "Compact Virtual Machine". But, right now, it is not standing for anything as Sun was worrying that "Compact" may confuse people and lead them to think that the CVM was in fact the KVM. So the C in CVM is nothing now...