Гость
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопросы про класслоадинг / 5 сообщений из 5, страница 1 из 1
12.04.2021, 17:40
    #40061798
grok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы про класслоадинг
1) можно ли получить список всех доступных для загрузки классов ? (не спрашивайте, зачем)

2) допустим, есть класс, который успешно грузится. можно узнать, откуда ?
...
Рейтинг: 0 / 0
12.04.2021, 19:48
    #40061821
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы про класслоадинг
В простейшем примере. Переменная операционки CLASSPATH указывает на список путей или артифактов
в которых Classloader будет искать бинарники. Читай эту переменную. Выгребай файлы. Распаковывай
архивы zip, jar, war e.t.c. и получишь все имена классов.

В более сложном примере (помним что ClassLoader-ов может быть много) и каждый из них
настраивается отдельно. И для такого случая только воспроизведение приложения даст
ответ что будет загружено. Это - как "проблема останова". Пока не попробуешь - не узнаешь.
Сюда-де до кучи современные фреймворки. Spring e.t.c.

Запуск java приложения с опцией -verbose:class показывает что откуда загружено.
...
Рейтинг: 0 / 0
12.04.2021, 20:55
    #40061833
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы про класслоадинг
grok
1) можно ли получить список всех доступных для загрузки классов ? (не спрашивайте, зачем)

Можно попробовать, но результат не гарантирован (не спрашивай как)

grok

2) допустим, есть класс, который успешно грузится. можно узнать, откуда ?

Можно, хотя не совсем понятно что имеется ввиду под "откуда"
...
Рейтинг: 0 / 0
13.04.2021, 05:31
    #40061884
grok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы про класслоадинг
забыл ник

grok

2) допустим, есть класс, который успешно грузится. можно узнать, откуда ?

Можно, хотя не совсем понятно что имеется ввиду под "откуда"


путь к классу. или jar (если из jar)
...
Рейтинг: 0 / 0
13.04.2021, 08:06
    #40061898
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы про класслоадинг
grok
1) можно ли получить список всех доступных для загрузки классов ? (не спрашивайте, зачем)

2) допустим, есть класс, который успешно грузится. можно узнать, откуда ?


Рантайм это достаточно не тривиальная вещь.
Т.к. во многом зависит от контекста.
Самое простое это просто запуск jar.
Там класслоадер один и всё просто.

Чуть веселее становиться с контейнерами сервлетов.
Там уже несколько класслоадеров, для разных приложений и общий сервера.

Ещё веселее с сервером приложений, там может быть хитрая иерархия класслоадеров, что сам черт ногу сломит.
Помню веселье со Spring'ом под WebSphere когда можно было использовать только Spring 3.0, а выше, нужны были такие танцы с бубном для класслоадеров, что нафиг-нафиг.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопросы про класслоадинг / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]