2014-09-25 2 views
0

Предполагая, что система запускает стандартную JVM (HotSpot) с включенным JIT, jitted код сборки каким-либо образом кэшируется между прогонами одной и той же программы? Я не могу найти никакой информации, свидетельствующей об этом, но, наоборот, кажется, что это пустая трата.Имеет ли код сборки кеша JVM?

ответ

1

Это было проверено, и я помню, что по крайней мере некоторые версии Sun/Oracle Java поддерживали это. Однако я также помню, что были проблемы безопасности и надежности.

(я вспоминала это: http://docs.oracle.com/cd/B28359_01/java.111/b31225/chnine.htm#BABDCIBH А может быть, некоторые экспериментальные JVMs а.).

Кроме того, один из преимуществ JIT компиляции в HotSpot является то, что код может быть оптимизирован для конкретных моделей вариант использования конкретный запуск приложения. Если вы кешируете скомпилированный код JIT, вы теряете эту потенциальную выгоду.

Кэширование кода ускоряет запуск/разгон приложений, но в ситуации, когда экземпляры приложений работают в течение длительного времени, более быстрый запуск менее важен, чем более высокая стабильность работы.

Смежные вопросы