HotSpot

HotSpot

Infobox Software
name = HotSpot
logo =


caption =
developer = Sun Microsystems
latest release version = 1.6
operating system = Cross-platform
genre = Java Virtual Machine
license = GNU General Public License
website = [http://openjdk.java.net/groups/hotspot/ 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.

History

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 [cite web
url=http://findarticles.com/p/articles/mi_m0CGN/is_n3348/ai_20359903/pg_1
title=Sun's Gosling Previews Hotspot Java Virtual Machine
publisher=ComputerGram
date=1998-02-13
accessdate=2008-04-20
] . Initially available as an add-on for Java 1.2, HotSpot became the default Sun JVM in Java 1.3 [cite web
url=http://www.sun.com/smi/Press/sunflash/2000-05/sunflash.20000508.3.xml
title=Sun Microsystems releases fastest client-side Java platform to date
publisher=Sun Microsystems
date=2000-05-08
accessdate=2007-10-03
] .

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. HotSpot is widely acclaimed as providing the best performance in its class of JVM.Fact|date=October 2007 In theory, though rarely in practice, it is possible for adaptive optimization of a JVM to exceed the performance of hand-coded C++ or assembly language code [cite web
url=http://scribblethink.org/Computer/javaCbenchmark.html
title= Performance of Java versus C++
last=Lewis|first=J.P.
date=2004
accessdate=2007-10-03
] .

Features

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 [cite web
url=http://openjdk.java.net/groups/hotspot/
title= The HotSpot Group
publisher=Sun Microsystems
quote="There are nearly 1500 C/C++ header and source files, comprising almost 250,000 lines of code"
date=2007
accessdate=2007-10-03
] . Hotspot provides:
* A class loader,
* A bytecode interpreter,
* "Client" and a "Server" virtual machines, optimised for their respective uses
* Several garbage collectors,
* A set of supporting runtime libraries.

License

On 13 November 2006, the Sun JVM and JDK were made available [cite web
url=http://www.sun.com/2006-1113/feature/story.jsp
title= Sun Opens Java
publisher=Sun Microsystems
date=2006-11-13
accessdate=2007-10-03
] under the GPL license (see [http://openjdk.java.net/groups/hotspot/ Sun's OpenJDK Hotspot page] ).

upported platforms

As for the whole JDK, HotSpot is currently supported by Sun on Microsoft Windows, Linux, and Solaris [cite web
url=http://java.sun.com/javase/6/webnotes/install/system-configurations.html
title=Supported System Configurations
Publisher=Sun Microsystems
accessdate=2008-01-26
] . Ports are also available by third parties for Mac OS X and various other Unix Operating systems.

Ports of HotSpot are difficult because the code, while primarily written in C++, contain a lot of assembly [cite web
url=http://gbenson.livejournal.com/2007/11/16/
title=Gary's guide to porting IcedTea
first=Benson|last=Gary
date=2007-11-06
accessdate=2008-01-26
] . 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 [cite web
url=http://gbenson.livejournal.com/2008/02/01/
title=1st February 2008
first=Benson|last=Gary
date=2008-02-01
accessdate=2008-02-03
] [cite web
url=http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2008-January/001085.html
title=Making zero-assembler the default on ppc
first=Haley|last=Andrew
date=2008-01-31
accessdate=2008-02-03
] [cite web
url=http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2008-February/001172.html
title=IcedTea 1.6 Released with Zero-assembler and JNLP support!
first=Angel|last=Lilian
publisher=Red hat
date=2008-02-13
accessdate=2008-02-13
] .

Gary Benson, an IcedTea developer, is now developing a platform-independent Just-in-time compiler called "Shark" for HotSpot, to complement "zero" [cite web
url=http://gbenson.net/?p=67
title= 31 March 2008
first=Benson|last=Gary
publisher=Red hat
date=2008-03-31
accessdate=2008-05-30
] [cite web
url=http://gbenson.net/?p=80
title= 28 May 2008
first=Benson|last=Gary
publisher=Red hat
date=2008-05-28
quote="Shark is a platform-independent JIT for HotSpot, to complement the zero-assembler interpreter we’ve been using"
accessdate=2008-05-30
] . Achievement of this work would make the Java Virtual Machine independent of the CPU architecture.

See also

* List of Java virtual machines
* Java performance
* OpenJDK
* Da Vinci Machine, a starting Sun project aiming to prototype the extension of the JVM to add support for dynamic languages.

References

External links

* [http://openjdk.java.net/groups/hotspot/ Sun's OpenJDK Hotspot page]
* [http://java.sun.com/products/hotspot/ Sun's HotSpot information page]
* [http://java.sun.com/products/hotspot/whitepaper.html HotSpot performance whitepaper]
* [http://java.sun.com/docs/hotspot/VMOptions.html A list of HotSpot VMOptions]
* [http://java.sun.com/docs/books/vmspec/ The Java Virtual Machine Specification]
* [http://www.cs.ucsb.edu/projects/strongtalk/pages/history.html The history of the original Strongtalk/HotSpot team]
* [http://www.sun.com/smi/Press/sunflash/1999-04/sunflash.990427.6.html Sun announces availability of the Java Hotspot Performance Engine]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • HotSpot — Тип Java Virtual Machine Разработчик Oracle (ранее Sun Microsystems) Написана на C++ Операционная система Кроссплатформенное ПО Последняя версия 16.3 b01 Ли …   Википедия

  • HotSpot — Entwickler Sun Microsystems Aktuelle Version 20 Betriebssystem plattformübergreifend Programmier­sprache C/C++ …   Deutsch Wikipedia

  • Hotspot (Wi-Fi) — A diagram showing a Wi Fi network A hotspot is a site that offers Internet access over a wireless local area network through the use of a router connected to a link to an Internet service provider. Hotspots typically use Wi Fi technology.… …   Wikipedia

  • Hotspot — Hot Spot (englisch heiße Stelle) steht für: eine lokal begrenzte Pyodermie (Hautentzündung) Hotspot der Biodiversität, Region mit hoher, stark bedrohter Artenvielfalt Hotspot (Datenbanken) Hot Spot (Fotovoltaik), ein Bereich eines… …   Deutsch Wikipedia

  • Hotspot — A hot spot is a region of high or special activity within a larger area of low or normal activity; it may refer to:* Hotspot (geology), a location above a hot upwelling plume of mantle. * Hot Spot, a keno game offered by the California Lottery *… …   Wikipedia

  • Hotspot — Generador de puntos de acceso. En el contexto de las comunicaciones inalámbricas, un hotspot («punto caliente») es una zona de alta demanda de tráfico, y que por tanto el dimensionamiento de su cobertura está condicionado a cubrir esta demanda… …   Wikipedia Español

  • Hotspot — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Un hotspot peut être : un hotspot, un endroit à la surface d une planète qui a une activité volcanique régulière ; un hotspot, une aire… …   Wikipédia en Français

  • Hotspot (Wi-Fi) — Borne Wi Fi Zone couverte en Wi Fi à Seattle …   Wikipédia en Français

  • Hotspot — Hot|spot 〈[ hɔ̣tspɔt]〉 auch: Họt Spọt 〈m.; ( ) s, ( ) s〉 1. 〈Geol.〉 Aufschmelzungspunkt im inneren Aufbau der Erde, an der Erdoberfläche am Vulkanismus zu erkennen 2. wichtiger Ort, interessanter Sachverhalt 3. 〈EDV〉 (kostenpflichtiger) Zugang… …   Universal-Lexikon

  • Hotspot — Un hotspot (en español punto caliente) es una zona con cobertura Wi Fi, en el que un punto de acceso (access point) o varios proveen servicios de red a través de un proveedor de Internet inalámbrico (WISP). Los hotspots se encuentran en lugares… …   Enciclopedia Universal

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”