The JIT compiler compiles bytecode into some target form, at runtime, before the code is about to be executed. The HotSpot has details about the specific platform where the code is running and can produce highly optimized code for that machine.
This answer on SO seems to suggest that both of these work as one unit, while this answer on SO seems to suggest that they are independent of each other.
In Oracle's JVM, are the HotSpot and JIT two different systems, or just one system ?