Итак, предположим, что у меня есть банка с другой версией в папке ext
, а другая версия находится в classpath
. В какой версии будет загружена банка? Согласно моим исследованиям, поскольку extension classloader
работает до classpath
, так что библиотека в расширении будет загружена. Или это будет переопределение с classpath
. И что будет, если версия одна и та же?Какая из банок будет загружена в JVM?
1
A
ответ
1
Он будет использовать первый класс, который он может найти в иерархии ClassLoader
.
Так он будет пытаться получить класс из следующей последовательности ClassLoader
с:
- Bootstrap
ClassLoader
состоит из классов Bootstrap (rt.jar
и ряд других важныхjar
файлов на вjre/lib
) , - Расширение
ClassLoader
состоит из Extension классов (jar
файлов в папке расширенияjre/lib/ext
). - Система
ClassLoader
состоит из Пользовательские классы (классы, расположенные в определенном классе).
Так как ваш класс не определен в # 1, но в # 2 и # 3, первый класс, который он может найти, будет в # 2, поэтому он получит версию папки расширения и просто проигнорирует тот, который определен позже в вашем пути к классам.
Смотрите также How Classes are Found
1
Это будет класс уровень не уровень Jar. Если класс (полное имя класса) уже загружен в vm, то новый класс класса ext или класса класса классов будет проигнорирован.
Смежные вопросы
- 1. , какая зависимость будет загружена?
- 2. утверждают, какая макет загружена?
- 3. ext js tab panel: какая вкладка будет загружена по умолчанию?
- 4. определить, какая страница загружена - ajax
- 5. Куда будет загружена банка из этой ситуации?
- 6. Какая правильная реализация JVM?
- 7. Определите, какая сборка сборок загружена еще
- 8. Две разные версии банок на отдельных потоках в одном JVM
- 9. Как узнать, какая активность была загружена
- 10. Какая версия JVM используется netty?
- 11. Eclipse & Tomcat: Как указать, какая папка загружена из проекта?
- 12. Как проверить, какая версия Ember.js загружена?
- 13. Как определить, какая зона уже загружена?
- 14. Pretty Faces несколько аннотаций, какая из них была загружена?
- 15. Порядок загрузки банок
- 16. Когда JVM будет использовать intrinsics
- 17. Какая функция будет выбрана?
- 18. Загрузка документа из iCloud перед представлением будет загружена
- 19. Как вызвать Sub, не зная, какая форма загружена в панель?
- 20. Java-апплет, загружающий изображения из внешних банок
- 21. какая часть файла ELF должна быть загружена в память?
- 22. Перераспределение банок
- 23. Подождите, пока страница не будет загружена
- 24. Если в приложении есть несколько версий банок, как найти Jvm, то какой из них
- 25. Какая команда будет
- 26. Какая анимация будет использоваться
- 27. Как узнать, когда страница будет загружена?
- 28. Какая часть db будет загружаться в память при запросе?
- 29. класс путь для банок внутри банок
- 30. Выполнить C# из JVM