| Developer(s) | Sun Microsystems |
|---|---|
| Stable release | 14.0-b16 |
| Operating system | Cross-platform |
| Type | Java Virtual Machine |
| License | GNU General Public License |
| Website | Sun's OpenJDK Hotspot page |
HotSpot is the primary Java Virtual Machine for desktops and servers produced by Sun Microsystems. It features techniques such as just-in-time compilation and adaptive optimization designed to improve performance.
Contents |
HotSpot, first released April 27, 1999, was originally developed by Longview Technologies, LLC which was doing business as Animorphic, a small startup company formed in 1994. In 1997, Longview Technologies, LLC (DBA Animorphic) was purchased by Sun Microsystems[1]. Initially available as an add-on for Java 1.2, HotSpot became the default Sun JVM in Java 1.3[2].
Its name derives from the fact that as it runs Java byte-code, it continually analyzes the program's performance for "hot spots" which are frequently or repeatedly executed. These are then targeted for optimization, leading to high performance execution with a minimum of overhead for less performance-critical code. It is possible for adaptive optimization of a JVM to exceed the performance of hand-coded C++ or assembly language code[3].
Sun's JRE features 2 virtual machines , one called Client and the other Server. The Client version is tuned for quick loading. It makes use of interpretation, compiling only often-run methods. The Server version loads more slowly, putting more effort into producing highly optimized JIT compilations, that yield higher performance.
The HotSpot Java Virtual Machine is written in C++. As stated in HotSpot web page, the code contains approximately 250,000 lines of code[4]. Hotspot provides:
HotSpot supports many Command-line arguments for tweaking the Virtual Machine at launch. Some are standard and must be found in any conforming JVM, others are specific to HotSpot and may not be found in other JVMs (options that begin with -X or -XX are non-standard)[5][6][7][8].
On 13 November 2006, the Sun JVM and JDK were made available[9] under the GPL license (see Sun's OpenJDK Hotspot page).
As for the whole JDK, HotSpot is currently supported by Sun on Microsoft Windows, Linux, and Solaris. Supported ISAs are IA-32, x86-64 and SPARC (exclusive to Solaris).[10]
Ports are also available by third parties for Mac OS X and various other Unix Operating systems. A number of different hardware architectures are also supported, including x86, PowerPC, and SPARC (Solaris only).
Ports of HotSpot are difficult because the code, while primarily written in C++, contains a lot of assembly[11]. To remedy this, the IcedTea project has developed a generic port of the HotSpot interpreter called zero-assembler Hotspot (or zero), with almost no assembly code. This port is intended to allow the interpreter part of HotSpot to be very easily adapted to any Linux processor architecture, potentially making it infinitely portable. The code of zero-assembler Hotspot is used for all the non-x86 ports of HotSpot (PPC, IA64, S390 and ARM) since version 1.6[12][13][14].
Gary Benson, an IcedTea developer, is now developing a platform-independent Just-in-time compiler called Shark for HotSpot, using LLVM, to complement zero[15][16].
|
||||||||||||||
stock | retire | vm
Why are we here?
All text is available under the terms of the GNU Free Documentation License
This page is cache of Wikipedia. History