JIT and MMI
The JVM usues mixed-mode interpretation and a just-in-time compiler for bytecode interpretation and compilation.
As we mentioned in General JVM recommendations, the Java language is interpreted. Interpretation and execution of bytecodes is much slower than the executing code that has been compiled to the native instruction set of the host processor. The IBM® JVM uses mixed-mode interpretation (MMI) where initially bytecodes are interpreted. When the MMI detects that bytecodes have been interpreted multiple times, it invokes a just-in-time (JIT) compiler to compile those bytecodes to native instructions.
For performance, you should ensure the JIT and MMI are enabled. The JVM performance degrades significantly if JIT is disabled. Some third party vendors may recommend disabling certain portions of the JIT compiler. In those specific situations, we recommend you run controlled performance tests with and without that specific JIT option to understand the impact to performance.