©
本文档使用 PHP中文网手册 发布
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object java.lang.ClassLoader java.security.SecureClassLoader java.net.URLClassLoader
public class URLClassLoader
该类加载器用于从指向 JAR 文件和目录的 URL 的搜索路径加载类和资源。这里假定任何以 '/' 结束的 URL 都是指向目录的。如果不是以该字符结束,则认为该 URL 指向一个将根据需要打开的 JAR 文件。
创建 URLClassLoader 实例的 AccessControlContext 线程将在后续加载类和资源时使用。
为加载的类默认授予只能访问 URLClassLoader 创建时指定的 URL 的权限。
构造方法摘要 | |
---|---|
URLClassLoader(URL[] urls)
使用默认的委托父 ClassLoader 为指定的 URL 构造一个新 URLClassLoader。 |
|
URLClassLoader(URL[] urls,
ClassLoader parent)
为给定的 URL 构造新 URLClassLoader。 |
|
URLClassLoader(URL[] urls,
ClassLoader parent,
URLStreamHandlerFactory factory)
为指定的 URL、父类加载器和 URLStreamHandlerFactory 创建新 URLClassLoader。 |
方法摘要 | |
---|---|
protected void |
addURL(URL url)
将指定的 URL 添加到 URL 列表中,以便搜索类和资源。 |
protected Package |
definePackage(String name,
Manifest man,
URL url)
用该 ClassLoader 中的名称定义一个新包。 |
protected Class<?> |
findClass(String name)
通过 URL 搜索路径查找并加载具有指定名称的类。 |
URL |
findResource(String name)
在 URL 搜索路径中查找具有指定名称的资源。 |
Enumeration<URL> |
findResources(String name)
返回表示 URL 搜索路径中具有指定名称的所有资源的 URL 枚举。 |
protected PermissionCollection |
getPermissions(CodeSource codesource)
返回给定 codesource 对象的权限。 |
URL[] |
getURLs()
返回用于加载类和资源的 URL 搜索路径。 |
static URLClassLoader |
newInstance(URL[] urls)
为指定的 URL 和默认的父类加载器创建新 URLClassLoader 实例。 |
static URLClassLoader |
newInstance(URL[] urls,
ClassLoader parent)
为指定的 URL 和父类加载器创建新 URLClassLoader 实例。 |
从类 java.security.SecureClassLoader 继承的方法 |
---|
defineClass, defineClass |
从类 java.lang.ClassLoader 继承的方法 |
---|
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, loadClass, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public URLClassLoader(URL[] urls, ClassLoader parent)
如果有安全管理器,该方法首先调用安全管理器的 checkCreateClassLoader
方法以确保允许创建类加载器。
urls
- 从其位置加载类和资源的 URparent
- 用于委托的父类加载器
SecurityException
- 如果存在安全管理器,且其 checkCreateClassLoader
方法不允许创建类加载器。SecurityManager.checkCreateClassLoader()
public URLClassLoader(URL[] urls)
ClassLoader
为指定的 URL 构造一个新 URLClassLoader。首先在父类加载器中搜索 URL,然后按照为类和资源指定的顺序搜索 URL。这里假定任何以 '/' 结束的 URL 都是指向目录的。如果不是以该字符结束,则认为该 URL 指向一个将根据需要下载和打开的 JAR 文件。
如果有安全管理器,该方法首先调用安全管理器的 checkCreateClassLoader
方法以确保允许创建类加载器。
urls
- 从其位置加载类和资源的 URL
SecurityException
- 如果安全管理器存在并且其 checkCreateClassLoader
方法不允许创建类加载器。SecurityManager.checkCreateClassLoader()
public URLClassLoader(URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory)
如果有安全管理器,该方法首先调用安全管理器的 checkCreateClassLoader
方法以确保允许创建类加载器。
urls
- 从其位置加载类和资源的 URLparent
- 用于委托的父类加载器factory
- 创建 URL 时使用的 URLStreamHandlerFactory
SecurityException
- 如果安全管理器存在并且其 checkCreateClassLoader
方法不允许创建类加载器。SecurityManager.checkCreateClassLoader()
方法详细信息 |
---|
protected void addURL(URL url)
url
- 将添加到 URL 搜索路径中的 URLpublic URL[] getURLs()
protected Class<?> findClass(String name) throws ClassNotFoundException
ClassLoader
中的 findClass
name
- 类的名称
ClassNotFoundException
- 如果无法找到该类protected Package definePackage(String name, Manifest man, URL url) throws IllegalArgumentException
name
- 包的名称man
- 包含包的版本和密封信息的 Manifesturl
- 包的代码源 url,或者如果没有,则为 null
IllegalArgumentException
- 如果包的名称与该类加载器或其祖先之一中现有的包重名public URL findResource(String name)
ClassLoader
中的 findResource
name
- 资源的名称
URL
,或者如果无法找到该资源,则返回 null
。public Enumeration<URL> findResources(String name) throws IOException
ClassLoader
中的 findResources
name
- 资源名称
URL
的枚举
IOException
- 如果发生 I/O 异常protected PermissionCollection getPermissions(CodeSource codesource)
如果此 URL 的协议为 "jar",那么授予的权限将基于 Jar 文件 URL 所请求的权限。
如果协议为 "file",并且路径指定了某个文件,则要授予对该文件的读权限。如果协议为 "file",并且路径是一个目录,则要授予该目录中的所有文件及其(递归)子目录中包含的所有文件读权限。
如果协议不是 "file",则允许连接到和接收来自 URL 主机的连接。
SecureClassLoader
中的 getPermissions
codesource
- codesource
public static URLClassLoader newInstance(URL[] urls, ClassLoader parent)
loadClass
方法将在加载该类之前调用 SecurityManager.checkPackageAccess
方法。
urls
- 用于搜索类和资源的 URLparent
- 用于委托的父类加载器
public static URLClassLoader newInstance(URL[] urls)
loadClass
方法将在加载该类之前调用 SecurityManager.checkPackageAccess
。
urls
- 用于搜索类和资源的 URL
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。