Описание тега jvm-hotspot

HotSpot - это стандартная виртуальная машина Java, используемая как средами выполнения Java Oracle, так и OpenJDK.

HotSpot - это стандартная виртуальная машина Java, используемая средами выполнения Java Oracle и OpenJDK для сред Java SE и EE.

Это делает ее самой широко используемой виртуальной машиной Java в мире.

Он способен запускать код любого языка, который может генерировать файл Java.class, а также интерпретируемых языков (например, JRuby), которые реализовали свои интерпретаторы на Java (или другом языке JVM).

По состоянию на 2012 год существует не менее 200 языков, которые могут работать поверх JVM, включая Scala, Groovy, Clojure, JRuby, Jython и многие более мелкие, нишевые языки.

HotSpot получил свое название от способности динамически профилировать выполняемый код и обнаруживать "горячие точки" выполнения - наиболее часто выполняемые методы.

Поскольку в большинстве случаев программы проводят большую часть своего времени в небольшом проценте своих методов, такое сосредоточение усилий по оптимизации на горячих методах очень эффективно.

HotSpot компилирует и агрессивно оптимизирует эти самые популярные методы для машинного кода, сильно зависящего от платформы, который специализируется на конкретной среде, в которой выполняется код.

Эта возможность использовать информацию о среде выполнения (точные поддерживаемые наборы инструкций, конфигурация памяти и ядра и т. Д.) Позволяет HotSpot выполнять трюки оптимизации, которые просто невозможны с помощью общей стратегии опережения для i386 или i686. как это обычно бывает в средах C/C++.

Это (вместе с расширенным управлением памятью JVM и подсистемой сборки мусора) затрудняет анализ производительности программ, размещенных на HotSpot, по сравнению с хорошо известными методами для C/C++. Прямое сравнение двух сред затруднено - каждая из них имеет свои сильные стороны, и каждая имеет области, в которых они имеют определенные преимущества.