The Execution Engine
Behaves according to the instruction set.
The JVM specification defines in great detail the “what” but not the “how”.
Each application thread is an instance of an execution engine.
Daemons such as the GC are not execution engine instances.