Scaling down obviously makes it faster because it supports only a limited subset of standard features. That's what I think
Ajith Kallambella M.
Sun Certified Programmer for the Java2 Platform.
Memory access, disk access....all gone.
A company called aJile systems (www.aJile.com) has a chip for sale that interprets bytecode in hardware.
Senior Software Engineer, IBM
author of: Practical Java
They spoke about "KVM" - stands for Kilo VM - a scaled down version of standard JVM that can run in a few kilobytes of memory. Sun is also devloping "device profiles" - some kind of a standardization in categorizing small devices so that KVMs can be implemented for the entire profile nstead of individual device types. The idea is a KVM written for one device profile should run on ALL devices belonging to that profile, no matter what type of devices are included.
The kVM is really just defines a Java subset, or more accurately, the J2ME configurations and profiles define Java subsets. These ca be implemented either in software or hardware--so the use of a kVM dosn't imply embedded Java.
A kVM is jst a JVM. Just as a single JVM only runs one a single chip/OS combo, so will a kVM. I will likely need two different kVMs for my RIM and my Palm. Code written for a particular J2ME profile will, in theory, run on all devices supporting that profile--assuming you don't use OEM APIs, and the GUI works across the screens of all devices.
For more information, see the J2ME forum.