Комментарии 3
Спасибо!
+7
Правильный вопрос задавали во время доклада, ответа на который я так и не услышал. В докладе про Compact Strings там сначала ставится проблема, что мол когда грузится String нет еще ни Unsafe, ничего, а потом решение такой раз и используем new Boolean(true). А сам булеан то откуда взялся? При чем этот вопрос судя по видео не у одного меня возник…
0
Судя по исходникам, обошлись инициализацией финального поля в блоке static {}
:
/**
...
* @implNote
* The actual value for this field is injected by JVM. The static
* initialization block is used to set the value here to communicate
* that this static final field is not statically foldable, and to
* avoid any possible circular dependency during vm initialization.
*/
static final boolean COMPACT_STRINGS;
static {
COMPACT_STRINGS = true;
}
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Обзор (и видеозаписи) лучших докладов Java-конференции JPoint 2016: BigData, кишки JVM и паззлеры