Сценарий, когда может потребоваться пользовательский загрузчик классов? - PullRequest
5 голосов
/ 20 сентября 2011

Я ищу простой сценарий, когда может потребоваться создание пользовательского загрузчика классов?

Кроме того, я просто хотел подтвердить, что даже загрузчик и загрузчик классов приложений расширяет java.lang.ClassLoader внутренне

1 Ответ

9 голосов
/ 20 сентября 2011

Короче говоря, его можно использовать для добавления нового кода или для изменения существующего кода на лету. Вот более подробное объяснение из этого URL .

Зачем писать собственный загрузчик классов?

Три основных причины для создания пользовательского загрузчика классов:

  • Чтобы разрешить загрузку классов из альтернативных репозиториев.

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

  • Для разбиения кода пользователя.

    Этот случай менее часто используется разработчиками приложений, но широко используется в механизмах сервлетов.

  • Разрешить разгрузку классов.

    Этот случай полезен, если приложение создает большое количество классов, которые используются только в течение конечного периода. Поскольку загрузчик классов поддерживает кэш загруженных им классов, эти классы не могут быть выгружены, пока сам загрузчик классов не будет разыменован. По этой причине системные классы и классы расширений никогда не выгружаются, но классы приложений могут выгружаться, когда их загрузчик классов установлен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...