статический вызов Class.getName () - PullRequest
0 голосов
/ 15 мая 2018

Я наткнулся на следующий код в NestedRuntimeException в org.springframework.core:

static {
    NestedExceptionUtils.class.getName();
}

Какой смысл иметь такой блок?

1 Ответ

0 голосов
/ 15 мая 2018

Он будет eagerly загружать класс NestedExceptionUtils, чтобы избежать тупика загрузчика классов.Сообщено об ошибке ( SPR-5607 ) «Нетривиальный NestedRuntimeException.getMessage () может вызвать взаимные блокировки в OSGi», и это решение той же проблемы.

Отредактировано:

Упоминается также в исходном коде в качестве комментария.Для получения полной документации по исходному коду перейдите по ссылке .Вот часть исходного кода класса NestedRuntimeException.

static {
    // Eagerly load the NestedExceptionUtils class to avoid classloader deadlock
    // issues on OSGi when calling getMessage(). Reported by Don Brown; SPR-5607.
    NestedExceptionUtils.class.getName();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...