public CustomURLClassLoader( URL[] urls ) { super( urls );
}
@Override protectedClass<?> findClass( String name ) throws ClassNotFoundException { // This is only called via this.loadClass -> super.loadClass -> // this.findClass, after this.loadClass has already called // super.findClass, so no need to call super.findClass again: thrownew ClassNotFoundException( name );
}
@Override protectedsynchronizedClass<?> loadClass( String name, boolean resolve ) throws ClassNotFoundException
{ Class c = findLoadedClass( name ); if ( c == null ) { try {
c = super.findClass( name );
} catch ( ClassNotFoundException e ) { returnsuper.loadClass( name, resolve );
} catch ( SecurityException e ) { // A SecurityException "Prohibited package name: java.lang" // may occur when the user added the JVM's rt.jar to the // java.class.path: returnsuper.loadClass( name, resolve );
}
} if ( resolve ) {
resolveClass( c );
} return c;
}
publicvoid addResourcePath(URL rurl) { if (resourcePaths == null) resourcePaths = new ArrayList<URL>();
resourcePaths.add(rurl);
}
@Override public URL getResource(String name) { if (resourcePaths == null) returnnull;
URL result = super.getResource(name); if (result != null) { return result;
}
for (URL u : resourcePaths) { if (u.getProtocol().startsWith("file")){ try {
File f1 = new File(u.getPath());
File f2 = new File(f1, name); if (f2.exists()) { returnnew URL(f2.toURI().toASCIIString());
}
} catch (MalformedURLException e1) {
System.err.println("malformed url: "+e1.getMessage()); continue;
}
}
} returnnull;
}
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-10-01)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.