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. 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.
The HotSpot Java Virtual Machine is written in C++. As stated in HotSpot web page, the code contains approximately 250,000 lines of code. Hotspot provides:
Ports of HotSpot are difficult because the code, while primarily written in C++, contain a lot of assembly. 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.
Gary Benson, an IcedTea developer, is now developing a platform-independent Just-in-time compiler called Shark for HotSpot, to complement zero. Achievement of this work would make the Java Virtual Machine independent of the CPU architecture.