public class TestUserClassLoder {
public static void main(String[] args) throws Exception {
ClassLoader MyClassLoader = new ClassLoader() {
@Override
public Class<?> loadClass(String name) throws ClassNotFoundException {
try {
String fileName = name.substring(name.lastIndexOf(".") + 1) + ".class";
InputStream is = getClass().getResourceAsStream(fileName);
if (is == null) {
return super.loadClass(name);
}
byte[] b = new byte[is.available()];
is.read(b);
return defineClass(name, b, 0, b.length);
} catch (Exception e) {
throw new ClassNotFoundException(name);
}
}
};
Object a = MyClassLoader.loadClass("jvm.classloader.TestUserClassLoder").newInstance();
Object b = new TestUserClassLoder();
System.out.println(a instanceof TestUserClassLoder);
System.out.println(b instanceof TestUserClassLoder);
}
}