src/share/classes/java/net/URLClassLoader.java

Print this page




 745      */
 746     public static URLClassLoader newInstance(final URL[] urls) {
 747         // Save the caller's context
 748         final AccessControlContext acc = AccessController.getContext();
 749         // Need a privileged block to create the class loader
 750         URLClassLoader ucl = AccessController.doPrivileged(
 751             new PrivilegedAction<URLClassLoader>() {
 752                 public URLClassLoader run() {
 753                     return new FactoryURLClassLoader(urls, acc);
 754                 }
 755             });
 756         return ucl;
 757     }
 758 
 759     static {
 760         sun.misc.SharedSecrets.setJavaNetAccess (
 761             new sun.misc.JavaNetAccess() {
 762                 public URLClassPath getURLClassPath (URLClassLoader u) {
 763                     return u.ucp;
 764                 }




 765             }
 766         );
 767         ClassLoader.registerAsParallelCapable();
 768     }
 769 }
 770 
 771 final class FactoryURLClassLoader extends URLClassLoader {
 772 
 773     static {
 774         ClassLoader.registerAsParallelCapable();
 775     }
 776 
 777     FactoryURLClassLoader(URL[] urls, ClassLoader parent,
 778                           AccessControlContext acc) {
 779         super(urls, parent, acc);
 780     }
 781 
 782     FactoryURLClassLoader(URL[] urls, AccessControlContext acc) {
 783         super(urls, acc);
 784     }


 745      */
 746     public static URLClassLoader newInstance(final URL[] urls) {
 747         // Save the caller's context
 748         final AccessControlContext acc = AccessController.getContext();
 749         // Need a privileged block to create the class loader
 750         URLClassLoader ucl = AccessController.doPrivileged(
 751             new PrivilegedAction<URLClassLoader>() {
 752                 public URLClassLoader run() {
 753                     return new FactoryURLClassLoader(urls, acc);
 754                 }
 755             });
 756         return ucl;
 757     }
 758 
 759     static {
 760         sun.misc.SharedSecrets.setJavaNetAccess (
 761             new sun.misc.JavaNetAccess() {
 762                 public URLClassPath getURLClassPath (URLClassLoader u) {
 763                     return u.ucp;
 764                 }
 765                 public byte[] getHardwareAddress0(NetworkInterface ni)
 766                     throws SocketException {
 767                     return ni.getHardwareAddress0();
 768                 }
 769             }
 770         );
 771         ClassLoader.registerAsParallelCapable();
 772     }
 773 }
 774 
 775 final class FactoryURLClassLoader extends URLClassLoader {
 776 
 777     static {
 778         ClassLoader.registerAsParallelCapable();
 779     }
 780 
 781     FactoryURLClassLoader(URL[] urls, ClassLoader parent,
 782                           AccessControlContext acc) {
 783         super(urls, parent, acc);
 784     }
 785 
 786     FactoryURLClassLoader(URL[] urls, AccessControlContext acc) {
 787         super(urls, acc);
 788     }