Разница между JVM и HotSpot?

Что такое HotSpot и как он связан с JVM и OpenJDK? Это библиотека? Что именно он делает?

Кроме того, в чем разница между OpenJDK и HotSpot?

Ответ 1

Определение виртуальной машины Java находится в так называемой Спецификации виртуальной машины Java

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

HotSpot - это реализация концепции JVM, первоначально разработанной Sun и теперь принадлежащей Oracle. Существуют и другие реализации спецификации JVM, такие как JRockit, IBM J9, среди многих других.

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

OpenJDK - это проект, в рамках которого реализация HotSpot с открытым исходным кодом (и многое другое, например, компилятор, API JDK и т.д.),.

Ответ 2

OpenJDK (Open Java Development Kit) - это бесплатная и открытая реализация Java Platform, Standard Edition (Java SE). Openjdk - это проект, запущенный Sun Microsystems, в настоящее время ухаживающий за многими компаний и сообщества для создания Java Development Kit абсолютно в open source. Согласно официальной документации .

OpenJDK - это версия с открытым исходным кодом спецификаций Java Platform, Standard Edition (Java SE). В мае 2007 года Sun выпустила полностью готовый вариант Java Development Kit (JDK) для Java SE для сообщества OpenJDK как бесплатное программное обеспечение в соответствии с GNU General Public License, версия 2 (GPLv2). Sun объявила Временный совет по управлению сообществом OpenJDK. Sun также объявила, что реализация на основе OpenJDK может использовать набор технической совместимости Java SE 6 (JCK) для обеспечения совместимости с спецификацией Java SE 6.

Проект OpenJDK состоит из нескольких компонентов - HotSpot (виртуальная машина), библиотеки классов Java и java-компилятора Java. Для получения дополнительной информации посетите его сайт.

Текущая JVM, предоставляемая Sun/Oracle, называется HotSpot, поскольку она ищет горячие точки использования кода (места, где код более интенсивно используется) для оптимизации "точно в момент времени". Из wikipedia HotSpot, выпущенный как "Java HotSpot Performance Engine", является виртуальной машиной Java для настольных компьютеров и серверов, поддерживаемой и распространяемой корпорацией Oracle.

Ответ 3

HotSpot, как уже упоминалось выше, представляет собой кросс-платформенную реализацию концепции виртуальной машины Java (JVM) и распространяется вместе с OpenJDK (Java Developer Kit) под лицензией GNU General Public License. HotSpot написан в основном на С++ и был первоначально разработан под Sun Microsystems. В настоящее время он разрабатывается в рамках проекта OpenJDK на сайте www.java.net. HotSpot JVM был доступен как дополнение для Java 1.2, а позже использовался как Sun JVM по умолчанию в Java 1.3. JVM в настоящее время находится в версии 7, Build b147 и имеет за собой активное сообщество разработчиков.

Для получения дополнительной информации перейдите к: https://www.java.net/

Счастливое кодирование!

Ответ 4

JVM - абстрактная машина (спецификации). HotSpot, OpenJDK и JRockit, а также реализации JVM.

Свободные и с открытым исходным кодом

  • HotSpot, основная реализация Java VM

  • OpenJDK. Открытый Java Development Kit - это бесплатная версия с открытым исходным кодом, лицензированная в соответствии с GNU General Public License (GNU General Public License) GPL) с исключением ссылки.

Собственные реализации

  • JRockit (первоначально из виртуальных машин Appeal), приобретенных Oracle для Linux, Windows и Solaris

для более реализаций
объясняет различия между HotSpot и JRocket

Ответ 5

HotSpot - это расширенная форма взлома С++, чтобы использовать его, вы должны строить против него, чтобы скомпилировать даже самые простые вещи. Если вы не настраиваете компиляторы и не записываете их с нуля. HotSpot - это в основном способ преобразования исходного кода в код на С++, а затем компиляция его в собственный код, поэтому скомпилированный термин jit.