Хорошо известно, что HotSpot анализирует шаблоны использования среды выполнения и характеристики производительности, а затем оптимизирует процесс JIT на основе этого анализа во время выполнения приложения Java. В результате часто рекомендуется проявлять осторожность при попытках тестирования приложений Java, чтобы эта фаза анализа и оптимизации могла произойти до того, как будут выполнены фактические измерения производительности.
Я уверен, что об этом думали раньше, но я часто задавался вопросом, почему этот этап анализа (например, типичные шаблоны использования) не может быть выполнен каким-либо образом как часть процесса сборки, а затем данные профилирования развернуты вместе с приложением, так что полноскоростной JIT достигается сразу при запуске приложения.
Кто-нибудь знает, действительно ли это делается, есть ли причина, по которой это невозможно, или это планируется как улучшение развертывания HotSpot и Java-приложений?
int
переменную в середине программы, сможете ли вы определить, вероятно, будет меньше 50, просто взглянув на код? - person Louis Wasserman   schedule 05.11.2013