Bridging the gap between human-readable code and machine performance.
Developer writes code. The `javac` compiler converts it into platform-neutral bytecode (universal recipe).
JVM loads classes. Initially, it interprets bytecode step-by-step. This works but can be slow.
JVM identifies frequently used methods ("hot" spots) and triggers JIT dynamic compilation.
JIT compiles the "hot" bytecode into highly optimized native machine code for the specific hardware.
JVM skips interpretation and runs the new, fast native code directly.
Result: Significant speed increase. While there is a tiny startup delay, long-term speed is massive.