|
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.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 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。