HotSpot

HotSpot
HotSpot
Тип

Java Virtual Machine

Разработчик

Oracle (ранее Sun Microsystems)

Написана на

C++

Операционная система

Кроссплатформенное ПО

Последняя версия

16.3-b01

Лицензия

GNU General Public License

Сайт

Sun's OpenJDK Hotspot page

HotSpot — это основная виртуальная машина Java для настольных компьютеров и серверов, выпускаемая корпорацией Oracle. Обладает технологиями динамической компиляции JIT и адаптивной оптимизации (англ.), предназначенными для повышения производительности.

Содержание

История

HotSpot, которая впервые была выпущена 27 апреля 1999 года, была изначально разработкой Longview Technologies, небольшой компании, основанной в 1994 году. В 1997 году компанию купила Sun Microsystems[1]. Сначала HotSpot использовали как дополнение к Java 1.2, однако, эта виртуальная машина стала основной с выходом Java 1.3[2]. Название «HotSpot» происходит из того факта, что, выполняя байткод Java, эта JVM непрерывно анализирует выполняемую программу на так называемые «горячие места» (англ. «hot spots»), которые часто повторно выполняются. Эти действия направлены на оптимизацию выполнения этих участков кода, выделяя им больше ресурсов, в то же время уменьшая непроизводительные затраты для выполнения менее ресурсоёмкого кода. HotSpot часто провозглашают самой производительной виртуальной машиной Java в своем классе. В теории с помощью адаптивной оптимизации программа, которая выполняется в этой JVM может быть более производительной, чем эквивалентная ей программа в машинных кодах[3].

Особенности

Виртуальная машина HotSpot написана на C++. Как указано на домашней странице HotSpot, размер её исходного кода составляет 250,000 строк[4]. Hotspot предоставляет следующий функционал:

Client-версия виртуальной машины характеризуется меньшим временем запуска приложений и меньшим потреблением памяти по сравнению с Server-версией, уступая при этом последней в производительности.

JVM флаги

HotSpot поддерживает большое количество аргументов командной строки (англ.) для настройки виртуальной машины при запуске. Некоторые из них стандартные и поддерживаются другими реализациями JVM, другие же специфичны и не поддерживаются другими виртуальными машинами (опции которые начинаются с -X или -XX — нестандартные)[5][6][7][8].

Лицензия

13 ноября 2006 года виртуальная машина и JDK от Sun Microsystems были открыты[9] под лицензией GPL v2 (см. Sun’s OpenJDK Hotspot page). Этот код станет частью Java 7.

Поддерживаемые платформы

Поддерживаемые Sun Microsystems

Что касается JDK, HotSpot на данный момент поддерживается Oracle в операционных системах Microsoft Windows, Linux, и Solaris. Поддержка ISAs представлена платформами IA-32, x86-64 и SPARC (только в Solaris).[10]

Порты от сторонних разработчиков

Так же доступны порты сторонних разработчиков для Mac OS X и других операционных систем Unix. Поддерживается несколько различных аппаратных архитектур, включая x86, PowerPC и SPARC (только в Solaris).

Портирование HotSpot усложнено тем, что данная виртуальная машина написана в основном на C++ с использованием вставок на ассемблере[11]. Чтобы избежать этого, проект IcedTea разработал общий порт интерпретатора HotSpot под названием zero-assembler Hotspot (или просто zero) который практически не содержит ассемблерного кода. Данный порт разрабатывается с целью достижения портируемости HotSpot на различные процессорные архитектуры Linux, что сделает его практически неограниченно портируемым. Код zero-assembler Hotspot используется для всех архитектур отличных от x86, (PPC, IA64, S390 и ARM) начиная с версии 1.6[12][13][14].

Гари Бенсон (англ. Gary Benson), разработчик IcedTea, в данный момент разрабатывает платформонезависимую реализацию динамической компиляции JIT под названием Shark для HotSpot, с использованием LLVM, в дополнение к zero-assembler Hotspot[15][16].

См. также

Примечания

  1. Sun's Gosling Previews Hotspot Java Virtual Machine. ComputerGram (13 февраля 1998). Проверено 25 июля 2010.
  2. Sun Microsystems releases fastest client-side Java platform to date. Sun Microsystems (8 мая 2000). Архивировано из первоисточника 3 мая 2012. Проверено 25 июля 2010.
  3. Lewis, J.P. Performance of Java versus C++ (2004). Архивировано из первоисточника 3 мая 2012. Проверено 25 июля 2010.
  4. The HotSpot Group. Sun Microsystems (2007). — «There are nearly 1500 C/C++ header and source files, comprising almost 250,000 lines of code»  Архивировано из первоисточника 3 мая 2012. Проверено 21 июля 2010.
  5. Java HotSpot VM Options. Sun Microsystems. Архивировано из первоисточника 3 мая 2012. Проверено 8 февраля 2009.
  6. Mocker, Joseph D. A Collection of JVM Options (28 августа 2007). Архивировано из первоисточника 13 октября 2012. Проверено 20 июля 2010.
  7. Maximovich, Dmitri The most complete list of -XX options for Java 6 JVM. Архивировано из первоисточника 13 октября 2012. Проверено 20 июля 2010.
  8. Nutter, Charles My Favorite Hotspot JVM Flags (29 января 2009). Архивировано из первоисточника 3 мая 2012. Проверено 20 июля 2010.
  9. Sun Opens Java. Sun Microsystems (13 ноября 2006). Архивировано из первоисточника 3 мая 2012. Проверено 20 июля 2010.
  10. Supported System Configurations. Oracle. Архивировано из первоисточника 3 мая 2012. Проверено 1 января 2011.
  11. Gary, Benson Gary's guide to porting IcedTea (6 ноября 2007). Архивировано из первоисточника 3 мая 2012. Проверено 21 июля 2010.
  12. Gary, Benson 1st February 2008 (1 февраля 2008). Архивировано из первоисточника 3 мая 2012. Проверено 21 июля 2010.
  13. Andrew, Haley Making zero-assembler the default on ppc (31 января 2008). Архивировано из первоисточника 3 мая 2012. Проверено 21 июля 2010.
  14. Lilian, Angel IcedTea 1.6 Released with Zero-assembler and JNLP support!. Red hat (13 февраля 2008). Архивировано из первоисточника 3 мая 2012. Проверено 21 июля 2010.
  15. Gary, Benson 31 March 2008. Red hat (21 июля 2010). Архивировано из первоисточника 3 мая 2012. Проверено 30 мая 2008.
  16. Gary, Benson 28 May 2008. Red hat (28 мая 2008). — «Shark is a platform-independent JIT for HotSpot, to complement the zero-assembler interpreter we’ve been using»  Архивировано из первоисточника 3 мая 2012. Проверено 21 июля 2010.

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Полезное


Смотреть что такое "HotSpot" в других словарях:

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

  • 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 =… …   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


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»