виртуальная машина Java может работать в любом из двух режимов: клиентском или серверном. Режим определяет, чему будет отдано предпочтение — скорости запуска и экономии памяти или общему быстродействию. В Java 9 также можно воспользоваться опережающей (Ahead-of-Time, AOT) компиляцией, если минимизация времени запуска вашего приложения действительно важна.