Недавно я пришел через java-загрузчик пользовательских классов api. Я нашел здесь одно использование, kamranzafar's blog Я немного новичок в концепции загрузчика классов. Может ли кто-нибудь объяснить подробно, каковы различные сценарии, в которых мы можем нуждаться, или мы должны использовать его?Что такое пользовательский загрузчик классов
ответ
Пользовательские загрузчики классов полезны для больших архитектур, состоящих из нескольких модулей/приложений. Вот преимущество пользовательского загрузчика классов:
- Обеспечивает Модульная архитектура Позволяет определить несколько загрузчик классов, позволяющих модульную архитектуру.
- Устранение конфликтов Четко определяет область действия класса внутри загрузчика классов.
- Поддержка версий Поддерживает различные версии класса в пределах одной виртуальной машины для разных модулей.
- Лучшее управление памятью Неиспользованные модули могут быть удалены, что выгружает классы, используемые этим модулем, который очищает память.
- Загрузить классы из любого места Занятия можно загружать из любого места, для ex, базы данных, сетей или даже определять его на лету.
- Динамически добавлять динамические ресурсы или классы Все перечисленные функции позволяют динамически добавлять классы или ресурсы.
- Runtime Перезагрузка модифицированных классов Позволяет перезагрузить среду выполнения классов или классов, создав загрузчик дочерних классов для реального загрузчика классов, который содержит измененные классы.
Интересный (классный?) пример загрузки классов из любого места можно увидеть здесь: http://99-bottles-of-beer.net/language- java-1162.html – Crollster
@Ramesh PVK благодарит за описание. но это действительно замечательно, если вы можете предоставить некоторые примеры кодов, чтобы понять, что вы описываете. надеюсь, что вы сделаете это для нас, интересующихся java. –
Основное использование в серверах приложений так, что они могут запускать два приложения и не конфликтуют с классами. то есть, если приложение 1 имеет класс с тем же именем, что и приложение 2, с помощью приложения загрузчика пользовательского класса 1 загрузит его класс, а приложение 2 загрузит его класс.
Также, если класс загружен пользовательским загрузчиком классов, можно выгрузить этот класс из JVM. Снова полезно в серверах приложений.
Другое применение было бы для аппаратуры - одним из способов делать аспектно-ориентированное программирование или при использовании некоторых API-интерфейсов persistence. С помощью специального загрузчика классов вы можете добавлять поведение к загруженным классам, прежде чем они будут переданы запущенному приложению.
Java-загрузчики классов в значительной степени используют то, что предлагает название: загружать классы в память, чтобы они могли использоваться.
Классы также связаны с загрузчиком ClassLoader. Поэтому
Пользовательские загрузчики классов открыть множество интересных возможностей:
- Загрузка нескольких версий одного и того же класса с различными загрузчиков классов (например, для устранения возможных версионирование conficts, например)
- Загрузка и разгрузка классов динамически во время выполнения
- Создание новых классов (например,JVM Языки, как Clojure используют различные приемы, чтобы генерировать загрузки классов новых скомпилированные классы для представления функций Clojure во время выполнения)
- Загрузка классов из нестандартных источников
Normal Java приложений, как правило, не нужно беспокоиться о загрузчиков классов. Но если вы пишете фреймворк или платформу, на которой должен размещаться другой код, то они становятся гораздо более важными/релевантными.
- 1. «NegativeArraySizeException» - Пользовательский загрузчик классов
- 2. PHP пользовательский загрузчик классов
- 3. Что такое изолированный загрузчик классов в Java?
- 4. загрузчик классов .NET - что это такое?
- 5. Пользовательский загрузчик классов в Java
- 6. Пользовательский загрузчик классов в Constructor.newInstance
- 7. пользовательский загрузчик классов для android?
- 8. Что такое ядро, загрузчик?
- 9. Что такое реактивный загрузчик?
- 10. Пользовательский загрузчик классов в java по-разному
- 11. Использовать пользовательский загрузчик классов во время компиляции
- 12. Пользовательский загрузчик классов и Java Agent
- 13. Как добавить пользовательский загрузчик классов в ObjectMapper?
- 14. Пользовательский загрузчик классов для Hibernate-mapping
- 15. Как написать пользовательский загрузчик классов для загрузки классов из банки?
- 16. Загрузчик классов модели делегирования
- 17. переопределение Java загрузчик классов
- 18. Что такое фабрика классов?
- 19. Что такое «Иерархия классов:..
- 20. Что такое отношения классов?
- 21. Что такое пользовательский ларь?
- 22. Что такое пользовательский агент?
- 23. Переопределить загрузчик классов в OSGi?
- 24. Java Загрузчик классов сложности
- 25. литье через загрузчик классов?
- 26. Мой собственный загрузчик классов?
- 27. Tomcat пользовательский загрузчик классов не удалось загрузить некоторые банки
- 28. Пользовательский системный загрузчик классов не используется всеми классами
- 29. Пользовательский загрузчик классов для полного применения, включая системные классы
- 30. JBOSS AS 7 пользовательский загрузчик классов не работает
Хорошая статья для написания пользовательского загрузчика классов. http://www.journaldev.com/349/java-classloader –