Загрузчик классов по умолчанию загружает файл .class только один раз, даже если вы используете это несколько раз в своей программе.После загрузки файла .class, если он изменен снаружи, загрузчик классов по умолчанию не будет загружать обновленную версию файла класса (файл .class уже доступен в области методов).Вы можете решить эту проблему, определив свой собственный настроенный загрузчик классов.
Основным преимуществом настроенного загрузчика классов является то, что вы можете управлять механизмом загрузки классов на основе ваших требований.
java.lang.ClassLoader
для определения собственного настроенного загрузчика классов.Каждый загрузчик классов в JAVA должен быть дочерним классом класса java.lang.ClassLoader, либо напрямую, либо косвенно.Следовательно, этот класс действует как базовый класс для всех настроенных загрузчиков классов.
Примечание: При проектировании / разработке веб-серверов и сервера приложений обычно настраиваемые загрузчики классов используются для настраиваемого механизма загрузки классов.
Например:
public class CustClassLoader extends ClassLoader{
public Class loadClass(String cname) throws ClassNotFoundException{
//check for updates and laod updated .class
//file and returns corresponding Class
}
}
class Client{
public static void main(String [] args){
Dog d1 = new Dog();
CustClassLoader c1 = new CustClassLoader();
c1.loadClass("Dog");
//
//
//
c1.loadClass("Dog");
//
//
}
}