Microsoft Java Virtual Machine

Last updated

The Microsoft Java Virtual Machine (MSJVM) is a discontinued proprietary Java virtual machine from Microsoft. It was first made available for Internet Explorer 3 so that users could run Java applets when browsing on the World Wide Web. It was the fastest Windows-based implementation of a Java virtual machine for the first two years after its release. [1] Sun Microsystems, the creator of Java, sued Microsoft in October 1997 for incompletely implementing the Java 1.1 standard. [2] It was also named in the United States v. Microsoft Corp. antitrust civil actions, as an implementation of Microsoft's "Embrace, extend and extinguish" strategy. In 2001, Microsoft settled the lawsuit with Sun and discontinued its Java implementation.

Contents

History

Performance

The Microsoft JVM won the PC Magazine Editor's Choice Awards in 1997 and 1998 for best Java support. In 1998 a new release included the Java Native Interface which supplemented Microsoft's proprietary Raw Native Interface (RNI) and J/Direct. Microsoft claimed to have the fastest Java implementation for Windows, although IBM also made that claim in 1999 and beat the Microsoft and Sun virtual machines in the JavaWorld Volano test. [1]

Antitrust trial

Microsoft's proprietary extensions to Java were used as evidence in the United States v. Microsoft Corp. antitrust civil actions.

A Memorandum of the United States in Support of Motion for Preliminary Injunction in the case of United States of America vs. Microsoft claimed that Microsoft wanted to kill Java in the marketplace.

In short, Microsoft feared and sought to impede the development of network effects that cross-platform technology like Netscape Navigator and Java might enjoy and use to challenge Microsoft's monopoly. Another internal Microsoft document indicates that the plan was not simply to blunt Java/browser cross-platform momentum, but to destroy the cross-platform threat entirely, with the "Strategic Objective" described as to "Kill cross-platform Java by grow[ing] the polluted Java market." [3]

Sun vs. Microsoft

In October 1997, Sun Microsystems, the creator of Java, sued Microsoft for incompletely implementing the Java 1.1 standard. [2]

In January 2001, Sun and Microsoft settled the suit. Microsoft paid Sun $20 million and the two agreed to a plan for Microsoft to phase out products that included the older version of Microsoft Java that allegedly infringed on Sun's Java copyrights and trademarks.

The Microsoft Java Virtual Machine was discontinued in 2003 in response to the Sun Microsystems lawsuit. Microsoft continued to offer support until December 31, 2007. [4]

Windows XP

The initial release of Windows XP in 2001 did not ship with a Java virtual machine, because of the settlement with Sun. The settlement required people who wanted to run Java Applets in Internet Explorer to download and install either the standard Sun Java virtual machine, or to download a copy of the Microsoft Java virtual machine.

Service Pack 1 (SP1) for Windows XP was released on September 9, 2002. It contained post-RTM security fixes and hot-fixes, compatibility updates, optional .NET Framework support, and enabled technologies for new devices such as Tablet PCs. It also included the Microsoft Java virtual machine. [5] On February 3, 2003, Microsoft re-released Service Pack 1 (SP1) as Service Pack 1a (SP1a). This release removed Microsoft's Java virtual machine in compliance with the lawsuit with Sun Microsystems. [6]

See also

Related Research Articles

<span class="mw-page-title-main">Java applet</span> Small application written in Java

Java applets were small applications written in the Java programming language, or another programming language that compiles to Java bytecode, and delivered to users in the form of Java bytecode. The user launched the Java applet from a web page, and the applet was then executed within a Java virtual machine (JVM) in a process separate from the web browser itself. A Java applet could appear in a frame of the web page, a new application window, Sun's AppletViewer, or a stand-alone tool for testing applets.

<span class="mw-page-title-main">Java (programming language)</span> Object-oriented programming language

Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a general-purpose programming language intended to let programmers write once, run anywhere (WORA), meaning that compiled Java code can run on all platforms that support Java without the need to recompile. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of the underlying computer architecture. The syntax of Java is similar to C and C++, but has fewer low-level facilities than either of them. The Java runtime provides dynamic capabilities that are typically not available in traditional compiled languages. As of 2019, Java was one of the most popular programming languages in use according to GitHub, particularly for client–server web applications, with a reported 9 million developers.

Java Platform, Micro Edition or Java ME is a computing platform for development and deployment of portable code for embedded and mobile devices. Java ME was formerly known as Java 2 Platform, Micro Edition or J2ME. As of December 22, 2006, the Java ME source code is licensed under the GNU General Public License, and is released under the project name phoneME.

In software design, the Java Native Interface (JNI) is a foreign function interface programming framework that enables Java code running in a Java virtual machine (JVM) to call and be called by native applications and libraries written in other languages such as C, C++ and assembly.

<span class="mw-page-title-main">Virtual PC</span> Virtualization program for Microsoft Windows

Virtual PC is an x86 emulator for PowerPC Mac hosts and a virtualization app for Microsoft Windows hosts. It was created by Connectix in 1997 and acquired by Microsoft in 2003. The Mac version was discontinued in 2006 following the Mac transition to Intel, while the Windows version was discontinued in 2011 in favour of Hyper-V.

Visual J# is a discontinued implementation of the J# programming language that was a transitional language for programmers of Java and Visual J++ languages, so they could use their existing knowledge and applications with the .NET Framework. It was introduced in 2002 and discontinued in 2007, with support for the final release of the product continuing until October 2017.

<span class="mw-page-title-main">HotJava</span> Web browser

HotJava was a modular, extensible web browser from Sun Microsystems implemented in Java. It was the first browser to support Java applets, and was Sun's demonstration platform for the then-new technology. It has since been discontinued and is no longer supported. Furthermore, the Sun Download Center was taken down on July 31, 2011, and the download link on the official site points to a placeholder page saying so.

Write once, run anywhere (WORA), or sometimes Write once, run everywhere (WORE), was a 1995 slogan created by Sun Microsystems to illustrate the cross-platform benefits of the Java language. Ideally, this meant that a Java program could be developed on any device, compiled into standard bytecode, and be expected to run on any device equipped with a Java virtual machine (JVM). The installation of a JVM or Java interpreter on chips, devices, or software packages became an industry standard practice.

Netscape Plugin Application Programming Interface (NPAPI) was an application programming interface (API) of the web browsers that allows plugins to be integrated.

<span class="mw-page-title-main">Internet Explorer 5</span> Web browser for Windows released in 1999

Microsoft Internet Explorer 5 (IE5) is the fifth, and by now, discontinued, version of the Internet Explorer graphical web browser, the successor to Internet Explorer 4 and one of the main participants of the first browser war. Its distribution methods and Windows integration were involved in the United States v. Microsoft Corp. case. Launched on March 18, 1999, it was the default browser in Windows 98 Second Edition, Windows 2000 and Windows ME and can replace previous versions of Internet Explorer on Windows 3.1x, Windows NT 3.51, Windows 95, Windows NT 4.0 and the original release of Windows 98. Although Internet Explorer 5 ran only on Windows, its siblings Internet Explorer for Mac 5 and Internet Explorer for UNIX 5 supported Mac OS X, Solaris and HP-UX.

<span class="mw-page-title-main">Internet Explorer 3</span> Web browser for Windows released in 1996

Microsoft Internet Explorer 3 (IE3) is the third, and by now, discontinued, version of the Internet Explorer graphical web browser which was announced in March 1996, and was released on August 13, 1996 by Microsoft for Microsoft Windows and on January 8, 1997 for Apple Mac OS. It began serious competition against Netscape Navigator in the first Browser war. It was Microsoft's first browser release with a major internal development component. It was the first more widely used version of Internet Explorer, although it did not surpass Netscape or become the browser with the most market share. During its tenure, IE market share went from roughly 3–9% in early 1996 to 20–30% by the end of 1997. In September 1997 it was superseded by Microsoft Internet Explorer 4.

Visual J++ is Microsoft's discontinued implementation of Java. Syntax, keywords, and grammatical conventions were the same as Java's. It was introduced in 1996 and discontinued in January 2004, replaced to a certain extent by J# and C#.

In computing, Java Web Start is a deprecated framework developed by Sun Microsystems that allows users to start application software for the Java Platform directly from the Internet using a web browser. The technology enables seamless version updating for globally distributed applications and greater control of memory allocation to the Java virtual machine.

JRockit was a proprietary Java virtual machine (JVM) originally developed by Appeal Virtual Machines, acquired by BEA Systems in 2002, and became part of Oracle Fusion Middleware as part of acquisition of BEA Systems in 2008.

<span class="mw-page-title-main">Java (software platform)</span> Set of computer software and specifications

Java is a set of computer software and specifications developed by James Gosling at Sun Microsystems that provides a system for developing application software and deploying it in a cross-platform computing environment. Java is used in a wide variety of computing platforms from embedded devices and mobile phones to enterprise servers and supercomputers. Java applets, which are less common than standalone Java applications, were commonly run in secure, sandboxed environments to provide many features of native applications through being embedded in HTML pages.

OpenJDK is a free and open-source implementation of the Java Platform, Standard Edition. It is the result of an effort Sun Microsystems began in 2006. The implementation is licensed under the GPL-2.0-only with a linking exception. Were it not for the GPL linking exception, components that linked to the Java Class Library would be subject to the terms of the GPL license. OpenJDK is the official reference implementation of Java SE since version 7.

Comparison of the Java and .NET platforms.

Internet Explorer is a series of graphical web browsers developed by Microsoft and included as part of the Microsoft Windows line of operating systems, starting in 1995.

The Java Development Kit (JDK) is a distribution of Java Technology by Oracle Corporation. It implements the Java Language Specification (JLS) and the Java Virtual Machine Specification (JVMS) and provides the Standard Edition (SE) of the Java Application Programming Interface (API). It is derivative of the community driven OpenJDK which Oracle stewards. It provides software for working with Java applications. Examples of included software are the virtual machine, a compiler, performance monitoring tools, a debugger, and other utilities that Oracle considers useful for a Java programmer.

References

  1. 1 2 Neffenger, John (August 1, 1998). "Which Java VM scales best?". JavaWorld . Retrieved 2020-07-16. Microsoft SDK 2.02 still stands alone as the only fast and scalable Java virtual machine. Our customers with the highest Web site traffic currently have no other viable choice for a JVM.
  2. 1 2 Zukowski, John (October 1, 1997). "What does Sun's lawsuit against Microsoft mean for Java developers?". JavaWorld . Retrieved 2020-07-16.
  3. Memorandum of the United States in Support of Motion for Preliminary Injunction UNITED STATES OF AMERICA v. MICROSOFT CORPORATION, May 18, 1998
  4. "Microsoft Java Virtual Machine". Archived from the original on 2014-08-31. Retrieved 2014-08-19.
  5. "Windows XP Service Pack 1 preview". September 9, 2002. Archived from the original on 2010-07-02. Retrieved 2007-09-21.
  6. "Differences Between Windows XP SP1 and Windows XP SP1a". February 3, 2003. Retrieved 2007-09-21.