Как стать автором
Обновить

Комментарии 3

Правильный вопрос задавали во время доклада, ответа на который я так и не услышал. В докладе про Compact Strings там сначала ставится проблема, что мол когда грузится String нет еще ни Unsafe, ничего, а потом решение такой раз и используем new Boolean(true). А сам булеан то откуда взялся? При чем этот вопрос судя по видео не у одного меня возник…

Судя по исходникам, обошлись инициализацией финального поля в блоке 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;
    }
Зарегистрируйтесь на Хабре , чтобы оставить комментарий