|
Software that acts an interpreter for Java programs. The
virtual machine (or vm) is a critical part of sun microsystems's
strategy to make Java truly portable among different types of computers,
because it is the one common factor across all platforms. Rather than
having to understand the specifics of every kind of computer processor, a
programmer writes just one version of a program, which is compiled into
bytecode. This code is then fed to the virtual machine, which translates its
instructions into terms the processor understands.
Vms are
available for most types of processor and operating system
combinations, theoretically enabling a Java program to run as advertised on
most of the world's new computers. One problem with all of them is that the
process of turning bytecode into native3 processor instructions is extremely
labour-intensive. Much of the criticism of Java's sluggish performance on
anything but the fastest computers can be attributed to poorly implemented
vms, but this situation is improving rapidly as computers get more
powerful.
Vms have caused friction in the high-tech world, especially between Sun
and Microsoft. Sun took legal action against Microsoft to try force it to
distribute a fully compatible version of the Java vm with the windows
operating system, claiming that Microsoft's own implementation was flawed
and represented a cynical attempt to kill the market for Java applications
and control its distribution points. A judge upheld its action in late 2002 |