Как «закрыть» ClassLoader?

У меня есть случай, когда мне нужно создать много загрузчиков классов в моем приложении, чтобы временно сделать некоторый код видимым во время выполнения пользовательских сценариев. Я использую URLClassLoader для этого, и он работает довольно хорошо.

После завершения сценария необходимо «выгрузить» или «закрыть» загрузчик классов, чтобы освободить ресурсы.

Достаточно ли установить для ссылки на загрузчик классов значение null ? Мне особенно интересно, если у меня в конечном итоге закончатся дескрипторы файлов, потому что дополнительные классы находятся в JAR-файлах.

PS: Необходимо работать с Java 5 и выше. Да, я знаю...

-121--1168122- Использование побитового ИЛИ 0 для обозначения числа Мой коллега наткнулся на метод поплавковых чисел, используя побитовое или: var a = 13,6 | 0 ;//a = = 13 Мы говорили об этом и задавались вопросом. Как это работает? Наша теория...

Мой коллега наткнулся на метод напольного поплавка с помощью побитового или:

var a = 13.6 | 0; //a == 13

Мы говорили об этом и задумывались над несколькими вещами.

  • Как это работает? Наша теория состояла в том, что использование такого оператора приводит число к целому числу, таким образом удаляя дробную часть
  • Имеет ли он какие-либо преимущества перед Math.floor ? Может быть, это немного быстрее? (каламбур не предназначен)
  • Имеет ли он какие-либо недостатки? Может, в некоторых случаях это не сработает? Ясность очевидна, так как нам пришлось разобраться, и я пишу этот вопрос.

Спасибо.

178
задан Alex Turpin 20 September 2011 в 15:59
поделиться