43 import java.security.Permission;
44 import java.security.PermissionCollection;
45 import java.security.PrivilegedAction;
46 import java.security.PrivilegedActionException;
47 import java.security.PrivilegedExceptionAction;
48 import java.security.SecureClassLoader;
49 import java.util.ArrayList;
50 import java.util.Collections;
51 import java.util.Enumeration;
52 import java.util.Iterator;
53 import java.util.List;
54 import java.util.Map;
55 import java.util.NoSuchElementException;
56 import java.util.Optional;
57 import java.util.concurrent.ConcurrentHashMap;
58 import java.util.function.Function;
59 import java.util.jar.Attributes;
60 import java.util.jar.Manifest;
61 import java.util.stream.Stream;
62
63 import jdk.internal.misc.SharedSecrets;
64 import jdk.internal.misc.VM;
65 import jdk.internal.module.ModulePatcher.PatchedModuleReader;
66 import jdk.internal.module.Resources;
67
68
69 /**
70 * The platform or application class loader. Resources loaded from modules
71 * defined to the boot class loader are also loaded via an instance of this
72 * ClassLoader type.
73 *
74 * <p> This ClassLoader supports loading of classes and resources from modules.
75 * Modules are defined to the ClassLoader by invoking the {@link #loadModule}
76 * method. Defining a module to this ClassLoader has the effect of making the
77 * types in the module visible. </p>
78 *
79 * <p> This ClassLoader also supports loading of classes and resources from a
80 * class path of URLs that are specified to the ClassLoader at construction
81 * time. The class path may expand at runtime (the Class-Path attribute in JAR
82 * files or via instrumentation agents). </p>
83 *
|
43 import java.security.Permission;
44 import java.security.PermissionCollection;
45 import java.security.PrivilegedAction;
46 import java.security.PrivilegedActionException;
47 import java.security.PrivilegedExceptionAction;
48 import java.security.SecureClassLoader;
49 import java.util.ArrayList;
50 import java.util.Collections;
51 import java.util.Enumeration;
52 import java.util.Iterator;
53 import java.util.List;
54 import java.util.Map;
55 import java.util.NoSuchElementException;
56 import java.util.Optional;
57 import java.util.concurrent.ConcurrentHashMap;
58 import java.util.function.Function;
59 import java.util.jar.Attributes;
60 import java.util.jar.Manifest;
61 import java.util.stream.Stream;
62
63 import jdk.internal.access.SharedSecrets;
64 import jdk.internal.misc.VM;
65 import jdk.internal.module.ModulePatcher.PatchedModuleReader;
66 import jdk.internal.module.Resources;
67
68
69 /**
70 * The platform or application class loader. Resources loaded from modules
71 * defined to the boot class loader are also loaded via an instance of this
72 * ClassLoader type.
73 *
74 * <p> This ClassLoader supports loading of classes and resources from modules.
75 * Modules are defined to the ClassLoader by invoking the {@link #loadModule}
76 * method. Defining a module to this ClassLoader has the effect of making the
77 * types in the module visible. </p>
78 *
79 * <p> This ClassLoader also supports loading of classes and resources from a
80 * class path of URLs that are specified to the ClassLoader at construction
81 * time. The class path may expand at runtime (the Class-Path attribute in JAR
82 * files or via instrumentation agents). </p>
83 *
|