You know recently I been looking at Virtualization technologies over and over again and it occured to me that the so-called JVM (Java Bytecode compiler) is not a Virutal Machine at all, in fact it is nowhere near Virtualization. See below for explanations.
Virtualization is should probably defined this way, the communication of the "virtualization" technologies are always direct and can be implanated in any CPU, in any mediums (mobile, desktop...etc.) regardless of its ISA.
If you look at most Storage Virtualization technologies such as LUNs, the technologies doesn't care where the CPU is a EPIC Itanium, x86 Opteron / Xeon or RISC processors. It just a bit bad that VMware forgot to made the LUN controller updateable, so as time pass by they can add more ISA support.
Java Bytecode Compiler
(Sun developer apparently don't know what is a VM)
However, if you look Java Bytecode compiler, for each CPU ISA they need a different compiler, thus that is they are so many JVMs. Also a bytecode compiler is certainly not a Virtual Machine. Hello!!! Sun Microsystems, Virtual Machine are for server application processing (e.g. processing XML documents for Accounting). Also if Java really support Virtualization it should be able to use both JVM on both desktop and mobile. (e.g. a PC users on Runescape interacting with somebody playing Runescape on iPhone).
One of the Virtualization job is to virtualize (or make it lightweight). However, JVM apparently can't do that why, because JRE is nothing more than a framework that has its own runtime. Also note that Java API are not really APIs. They are actually frameworks resources. (Imagine the API are bunch of resources objects provided by DirectX, instead of being objects (Sun called it class), instead of design by DirectX (it is design by "Sun Java" franchise).
So literally Java API is using its own resource and the reason why it take so long to load an applet, because JRE doesn't have a class / toolkit manager e.g. libxml2 (in AWS)
API are interface, more correctly "communication interface" theoretically they should be design to be compliant to both the request and the desitination. However, that would take a very long time and costly to do, instead most developer just use functional programming instead. (e.g. World of Warcraft)
:I already have a solution to this (but I regret I can't reveal to you). I do not want my works to be abuse by other developers who claim they know everything when they don't.
Conditioning people to think Java actually has Virtualization and thus taking advantage of Symbian and Android - -.....I bet Sun Microsystems already know what Virtualization is at Mainframe, its just they probably saw the market is going down sooner or later, so they introduce Java knowing that hundreds of companies will join the OHA Alliance benefiting them.
Forgot to mention, Managed Code is also a fraud terminology. Invented by who, not sure.
-High level: Silverlight (traditional), AIR (intelligence programming)
JVM (low level framework that has its own runtimes and architecture). The architecture are great, but the Virtualization is a disgrace.
Sun is just after a massive cash in. I recon java should have been left in the hands of Microsoft, however terrible that may sound.