Когда загружается класс Java?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Когда загружается класс Java?

Сообщение Anonymous »

Я искал в Интернете более двух часов и не смог прийти к какому-либо выводу.

Недавно я решил использовать BouncyCastle для SSL, но хотел, чтобы он отключился по умолчанию, поэтому jar BouncyCastle может отсутствовать в пути к классам.

Код: Выделить всё

private void enableBouncyCastleForSSL() {
if (config.isBouncyCastleEnabled()) {
Security.insertProviderAt(new BouncyCastleProvider(), 1);
}
}
Даже когда конфигурация отключена, она искала BouncyCastle, но произошла ошибка из-за ошибки загрузчика классов. java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/BouncyCastleProvider

Я попробовал переместить только строку Security.insertProviderAt(new BouncyCastleProvider(), 1); при использовании нового метода возникла та же проблема.

Но когда я представляю класс и перемещаю в него BouncyCastle, когда конфигурация отключена, проблема с загрузчиком классов не появляется.

Код: Выделить всё

private void setupSSLProvider() {
if (voldemortConfig.isBouncyCastleEnabled()) {
SetupSSLProvider.useBouncyCastle();
}
}
public class SetupSSLProvider {
public static void useBouncyCastle() {
Security.insertProviderAt(new BouncyCastleProvider(), 1);
}
}
В некоторых статьях утверждается, что класс загружается только при первом использовании. http://www.programcreek.com/2013/01/whe ... itialized/

Очевидно в моем случае Java8 загружает класс, на который есть ссылка в классе.

Я так понимаю, что Java загружает классы на один уровень глубже, прежде чем выполнять первую строку кода в классе. Это правда?

Подробнее здесь: https://stackoverflow.com/questions/342 ... ass-loaded
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»