There are three components of the JVM that are focused on when tuning performance. They are
heap, garbage collector, JIT compiler
Java threads, Method Area, Execution Engine
Native method interface, native internal threads, Execution Engine
heap, program counter register, garbage collector