Сделайте некоторые JVMs кэш stati c результаты инициализатора для часто используемых библиотечных классов - PullRequest
0 голосов
/ 07 апреля 2020

Поскольку время запуска JVM, по-видимому, вызывает беспокойство, имело бы смысл кэшировать результаты некоторых более сложных инициализаторов c, таких как java.lang.invoke.MethodType (и других java.lang классов, которые имеют сложные логики инициализации c). После этого JVM сможет быстрее запускаться после однократного запуска. Кроме того, я считаю, что инициализаторы stati c никогда не содержат определенных JIT-оптимизаций, поэтому некоторые инициализаторы stati c могут работать довольно медленно. Я полагаю, что кэширование будет работать только на чистых инициализаторах stati c, поэтому любое кэширование, вероятно, должно быть ограничено стандартной библиотекой. Существуют ли реализации JVM с кэшированием статически инициализированных классов?

1 Ответ

1 голос
/ 07 апреля 2020

Да. Например, Собственное изображение GraalVM может инициализировать определенные классы только один раз во время сборки.
См. Параметр --initialize-at-build-time=.

...