я установил обычай ClassLoader
отслеживать загруженные классы во время выполнения, чтобы поймать некоторые плохие реагирующие моменты, и я увидел, что некоторые классы GUI загружаются каждый раз, когда JFrame/JDialog создана:Почему JVM продолжает загружать одни и те же классы (GUI) снова и снова с каждым экземпляром?
loading: com.sun.java.swing.plaf.windows.WindowsPopupMenuSeparatorUI
loading: com.sun.java.swing.plaf.windows.WindowsTextFieldUI
loading: com.sun.java.swing.plaf.windows.WindowsTextAreaUI
loading: com.sun.java.swing.plaf.windows.WindowsComboBoxUI
loading: com.sun.java.swing.plaf.windows.WindowsPasswordFieldUI
Почему это классы загруженный ClassLoader с каждым отдельным экземпляром диалога, не только один раз?
еще примеры:
com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
com.sun.org.apache.xerces.internal.impl.dv.dtd.DTDDVFactoryImpl
мой простой ClassLoader
:
public class MyClassLoader extends ClassLoader {
public MyClassLoader (ClassLoader parent) {
super(parent);
}
@Override
public Class<?> loadClass(String name) throws ClassNotFoundException {
System.out.println("loading: " + name);
return super.loadClass(name);
}
}
параметр JVM: -Djava.system.class.loader=mupackage.MyClassLoader
Вы также можете показать нам свой 'ClassLoader'? – jlordo