Большинство Java разработчиков размещают java приложение в виртуальных средах, таких как Docker. Плохо это или хорошо зависит от приложения созданного java разработчиком. В основном, разработчики или девопсы даже не задумываются о настройке Docker, операционной системы и jvm. Написал один раз yaml и дальше пайпланишь в автоматическом режиме. Вот пример. Один из проектов, попавших на переработку, потому что был очень медленный в промышленной эксплуатации, а на машинах разработчиков естественно «летал». Каждый разработчик считал обязательным создать в своей части кода многопоточную реализацию класса ForkJoinPool. В промышленной среде было несколько многоядерных серверов. На каждое физическое ядро устанавливался свой Docker образ c размещённым в нем *nix, jvm и соответственно самим приложением. Но ведь Docker имел всего одно ядро, встроенный *nix был настроен «по умолчанию», и даже jvm не была сконфигурирована для работы на одном виртуальном ядре. Память jvm на ноутбуке разработчика и па