HotSpot - это основная виртуальная машина Java для персональных компьютеров и серверов, разработанная Sun Microsystems. Для увеличения производительности, в ней используются такие технологии как JIT компиляция и адаптированная оптимизация.
Возможности
Существует два вида этой виртуальной машины: клиентская и серверная. Клиентскую версию настраивают для быстрой загрузки. Она использует интерпретацию, компилируя только методы, которые часто запускаются. Серверная версия загружается медленнее, выполняя высокооптимизированные JIT компиляции, что приводит к увеличению производительности.
Виртуальная машина Java HotSpot написана на C + +. Как заявлено на сайте HotSpot, программа содержит примерно 250.000 строк кода. В HotSpot являются:
- Загрузчик классов.
- Интерпретатор байт-кода.
- Клиентская и серверная виртуальные машины, оптимизированные для соответствующего использования.
- Несколько сборщиков мусора.
- Набор динамических библиотек.
Поддерживаемые платформы
Как и весь JDK, HotSpot от Sun Microsystems доступен для Microsoft Windows, Linux и Solaris. Доступны также порты независимых поставщиков для Mac OS X и других Unix систем.
Портирование HotSpot на другие платформы очень сложное из-за того, что исходный код, кроме C + + содержит также ассемблерные вставки. Проект IcedTea имеет в своих целях обобщенный порт HotSpot интерпретатора с минимальным количеством ассемблерного кода. Это значительно облегчит адаптацию интерпретатора HotSpot к любой архитектуре процессора, сделав его «безгранично портативным».
Гэри Бенсон, один из участников проекта IcedTea, сейчас занимается разработкой платформонезависимого JIT Java компилятора Shark for HotSpot, чтобы дополнить проект. В случае успеха этот труд сделает виртуальную машину Java независимую от архитектуры процессора.