Сведения о вопросе

PASHA

16:48, 2nd October, 2020

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

Просмотров: 367   Ответов: 1

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


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

И, как мне кажется с этим должно быть тесно связано: Стоит ли делать кастомный загрузчик кешируюущим, если загрузка класса — длительный процесс?



  Сведения об ответе

SEEYOU

22:50, 28th September, 2020

Нет, всё уже сделано за вас.
Метод loadClass(String name, boolean resolve) синхронизованный.
Второй раз один и тот же класс загружаться не будет, поэтому в ручном кэшировании смысла нет.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться