The Microsoft VM for Java (build 2613) ships with the retail version of the Internet Explorer 4.01.
This release of the SDK for Java provides this VM in a stand-alone form, to be installed on the
retail version of the Internet Explorer 3.02 (or later).  It supports the following: 
Enhanced JIT
performance and reduced working set requirements 
Enhanced interpreter
loop performance 
JDK 1.1 Support 
The
Microsoft Virtual Machine for Java supports a number of JDK 1.1 defined
enhancements, including Serialization, Reflection and Inner
classes.
Java and COM 
The SafeArray class
now has public methods to access array data. 
COM
custom marshalling provides better control of how data is passed
in and out of the virtual machine. 
ActiveX and Java
Beans Support 
Any
Bean is exposed as an ActiveX control and any ActiveX control is
exposed as a Bean. 
Auto-IDispatch
now uses introspection to expose the necessary public classes
and variables. 
ITypeInfo
is provided on a class automatically and a type library can be
persisted for a class. 
Event
sourcing and sinking is supported. 
Package
Management Features
The
Java Language Package Manager is used by the VM to efficiently organize Java
packages.  For more information on this feature, please read the SDK documentation on Package Management.
The current method of installing and using Java packages consists of storing all the classes in a zip file and then appending this file to the CLASSPATH registry key. When the VM needs a class, it searches each CLASSPATH entry. The
CLASSPATH can become filled with references to packages that are
old or unused, or different versions of the same package. It is 
also difficult to know which packages are needed and which are not. 
To address these and other concerns, the Java Language Package Manager is used 
to organize Java packages. The Java Package
Manager offers:
    
        - Version
            Control. Package version numbers are
            tracked, allowing Java programs and installers to
            intelligently update the system.
 
        - Namespaces.
            Entire applets and applications can be installed
            in namespaces to avoid conflicting with identically named 
            packages and classes from other vendors.
            
 
        - Improved
            Security. Instead of having to fully trust
            all installed classes, the package manager stores the
            allowed permissions of each package, as verified by
            Authenticode.
 
        - Signing.
            Through Authenticode signing, the package manager can
            ensure that only the vendor that installed a package
            can update it.
 
        - ActiveX
            Bean Support. ActiveX Beans in Java
            packages can be automatically registered by the package manager.
            
 
        - Ease
            of Use. Web pages can install packages without
            having to alter the CLASSPATH or require a reboot.
 
    
When
a Java package is installed in the Package Manager, the original
archive file is removed and the classes are stored internally.
Thus, developers need to use the clspack command (described in
the tools section) to
generate the ZIP files used by Java compilers. All of the
standard Java packages shipped with this version of the VM are
installed in the Package Manager, including the AFC classes.