Tiered compilation allows us to use both C1 and C2 compilation modes. Starting with Java 8, tiered compilation is the default process. As illustrated here, C1 mode is used at startup to help provide greater optimization. Then, once the app has sufficiently warmed up, C2 mode is employed:
Tiered compilation