|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.lang.ClassLoader
java.security.SecureClassLoader
java.net.URLClassLoader
public class URLClassLoader
이 클래스 로더는, JAR 파일과 디렉토리의 양쪽 모두를 참조하는 URL 의 검색 패스로부터, 클래스와 자원을 로드하기 위해서(때문에) 사용됩니다. 「/」으로 끝나는 URL 는 모두, 디렉토리를 참조하고 있다고 보입니다. 그 이외의 경우, URL 는 JAR 파일을 참조하고 있다고 보입니다. JAR 파일은 필요에 따라서 오픈됩니다.
URLClassLoader 의 인스턴스를 생성한 thread의 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
- 클래스 및 자원의 로드원이 되는 URLparent
- 위양을 위한 친클래스 로더
SecurityException
- 시큐리티 매니저가 존재해, 그 checkCreateClassLoader
메소드가 클래스 로더의 작성을 허가하지 않는 경우SecurityManager.checkCreateClassLoader()
public URLClassLoader(URL [] urls)
ClassLoader
를 사용해, 지정된 URL 의 새로운 URLClassLoader 를 구축합니다. URL 는, 친클래스 로더내에서 검색된 뒤, 클래스 및 자원으로 지정된 순서로 검색됩니다. 「/」으로 끝나는 URL 는 모두, 디렉토리를 참조하고 있다고 보입니다. 그 이외의 경우, URL 는 JAR 파일을 참조하고 있다고 보입니다. 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
- 입출력 예외가 발생했을 경우protected PermissionCollection getPermissions(CodeSource codesource)
이 URL 의 프로토콜이 「jar」의 경우, 허가되는 액세스권은, JAR 파일의 URL 가 필요로 하는 액세스권에 근거한 것이 됩니다.
프로토콜이 「file」로, 패스로 해서 파일이 지정되고 있는 경우에는, 그 파일의 읽기 권한이 허가됩니다. 프로토콜이 「file」로, 패스가 디렉토리인 경우에는, 그 디렉토리내에 포함되는 모든 파일의 읽기 권한과(재귀적으로) 모든 파일과 서브 디렉토리의 읽기 권한이, 허가됩니다.
프로토콜이 「file」가 아닌 경우는, URL 로 지정된 호스트에 대해, 호스트에게로의 접속, 호스트로부터의 접속 수락이 허가됩니다.
SecureClassLoader
내의 getPermissions
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 Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.