Задать вопрос
1ex
@1ex

Должен ли ClassLoader быть thread-safe? Имеет ли смысл кешировать загруженные классы?

В Java есть такая штука как ClassLoader's, но метод defineClass() в нем не синхронизированный, так же как и методы findClass() и loadClass(), что странно, так как разные потоки вполне могут обращаться к этим методам одновременно, что чревато повторной загрузкой например.



Стоит ли делать кастомный загрузчик thread-safe?

И, как мне кажется с этим должно быть тесно связано: Стоит ли делать кастомный загрузчик кешируюущим, если загрузка класса — длительный процесс?
  • Вопрос задан
  • 2825 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
romik
@romik
Нет, всё уже сделано за вас.
Метод loadClass(String name, boolean resolve) синхронизованный.
Второй раз один и тот же класс загружаться не будет, поэтому в ручном кэшировании смысла нет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
19 дек. 2024, в 02:11
15000 руб./за проект
19 дек. 2024, в 02:09
11000 руб./за проект
19 дек. 2024, в 00:46
30000 руб./за проект