The modifications are a part of Microsoft's new Java "virtual machine" for Windows 95, 98, NT, and for its Windows version of the Internet Explorer 4 Web browser. A Java virtual machine lets Java programs run on a computer that otherwise might not be able to understand Java.
The details of how Microsoft implements Java technology have been under scrutiny in a lawsuit between Microsoft and Sun Microsystems, the developer of Java.
In a November preliminary injunction against Microsoft, Judge Ronald Whyte gave Microsoft 90 days to make its products compatible with Sun's Java compatibility tests. The issue is important to Sun as the Palo Alto company tries to make its Java language fulfill its promise of "write once, run anywhere" universality.
One of the compatibility issues is the way a Java virtual machine will invoke code written in the native language of a computer. Sun specifies one way, the Java Native Interface (JNI), but until this new version of Microsoft's Java virtual machine, Microsoft used its own ways, the Raw Native Interface (RNI) and J/Direct.
Microsoft's new virtual machine adds support for Sun's JNI, satisfying the legal requirements for Microsoft's Java virtual machine for Windows, said Charles Fitzgerald, a group manager at Microsoft.
However, Microsoft still has to deal with legal requirements for other Microsoft software, such as its development tools that help programmers write Java programs, Fitzgerald said.
The new Windows version of the Java virtual machine has faster performance, Fitzgerald added. Chief among those features is a new just-in-time compiler, software that translates an entire Java program into a computer's native language in one fell swoop instead of line-by-line. The new virtual machine also has more tools to catch bugs and makes it easier for programmers to write Java modules that plug into other programs, he said.
Microsoft's way to deal with the Java virtual machine legal issue on the Macintosh platform was to help users configure Internet Explorer so it uses another company's Java virtual machine, such as one supplied by Apple.
The Java virtual machine issue doesn't emerge in Unix versions of Internet Explorer, because those versions didn't have Microsoft Java virtual machine, but instead relied on software from the vendor of that Unix platform, Fitzgerald said.