java.applet

java.awt

java.awt.color

java.awt.datatransfer

java.awt.dnd

java.awt.event

java.awt.font

java.awt.geom

java.awt.im

java.awt.im.spi

java.awt.image

java.awt.image.renderable

java.awt.print

java.beans

java.beans.beancontext

java.io

java.lang

java.lang.annotation

java.lang.instrument

java.lang.management

java.lang.ref

java.lang.reflect

java.math

java.net

java.nio

java.nio.channels

java.nio.channels.spi

java.nio.charset

java.nio.charset.spi

java.rmi

java.rmi.activation

java.rmi.dgc

java.rmi.registry

java.rmi.server

java.security

java.security.acl

java.security.cert

java.security.interfaces

java.security.spec

java.sql

java.text

java.util

java.util.concurrent

java.util.concurrent.atomic

java.util.concurrent.locks

java.util.jar

java.util.logging

java.util.prefs

java.util.regex

java.util.zip

javax.accessibility

javax.activity

javax.crypto

javax.crypto.interfaces

javax.crypto.spec

javax.imageio

javax.imageio.event

javax.imageio.metadata

javax.imageio.plugins.bmp

javax.imageio.plugins.jpeg

javax.imageio.spi

javax.imageio.stream

javax.management

javax.management.loading

javax.management.modelmbean

javax.management.monitor

javax.management.openmbean

javax.management.relation

javax.management.remote

javax.management.remote.rmi

javax.management.timer

javax.naming

javax.naming.directory

javax.naming.event

javax.naming.ldap

javax.naming.spi

javax.net

javax.net.ssl

javax.print

javax.print.attribute

javax.print.attribute.standard

javax.print.event

javax.rmi

javax.rmi.CORBA

javax.rmi.ssl

javax.security.auth

javax.security.auth.callback

javax.security.auth.kerberos

javax.security.auth.login

javax.security.auth.spi

javax.security.auth.x500

javax.security.cert

javax.security.sasl

javax.sound.midi

javax.sound.midi.spi

javax.sound.sampled

javax.sound.sampled.spi

javax.sql

javax.sql.rowset

javax.sql.rowset.serial

javax.sql.rowset.spi

javax.swing

javax.swing.border

javax.swing.colorchooser

javax.swing.event

javax.swing.filechooser

javax.swing.plaf

javax.swing.plaf.basic

javax.swing.plaf.metal

javax.swing.plaf.multi

javax.swing.plaf.synth

javax.swing.table

javax.swing.text

javax.swing.text

javax.swing.text.parser

javax.swing.text.rtf

javax.swing.tree

javax.swing.undo

javax.transaction

javax.transaction.xa

javax.xml

javax.xml.datatype

javax.xml.namespace

javax.xml.parsers

javax.xml.transform

javax.xml.transform.dom

javax.xml.transform.sax

javax.xml.transform.stream

javax.xml.validation

javax.xml.xpath

org.ietf.jgss

org.omg.CORBA

org.omg.CORBA_2_3

org.omg.CORBA_2_3.portable

org.omg.CORBA.DynAnyPackage

org.omg.CORBA.ORBPackage

org.omg.CORBA.portable

org.omg.CORBA.TypeCodePackage

org.omg.CosNaming

org.omg.CosNaming.NamingContextExtPackage

org.omg.CosNaming.NamingContextPackage

org.omg.Dynamic

org.omg.DynamicAny

org.omg.DynamicAny.DynAnyFactoryPackage

org.omg.DynamicAny.DynAnyPackage

org.omg.IOP

org.omg.IOP.CodecFactoryPackage

org.omg.IOP.CodecPackage

org.omg.Messaging

org.omg.PortableInterceptor

org.omg.PortableInterceptor.ORBInitInfoPackage

org.omg.PortableServer

org.omg.PortableServer.CurrentPackage

org.omg.PortableServer.POAManagerPackage

org.omg.PortableServer.POAPackage

org.omg.PortableServer.portable

org.omg.PortableServer.ServantLocatorPackage

org.omg.SendingContext

org.omg.stub.java.rmi

org.w3c.dom

org.w3c.dom.bootstrap

org.w3c.dom.events

org.w3c.dom.ls

org.xml.sax

org.xml.sax.ext

org.xml.sax.helpers

allclasses-frame

allclasses-noframe

constant-values

deprecated-list

help-doc

JavaTM 2 Platform
Standard Ed. 5.0

java.security
类 SecureClassLoader

java.lang.Object
  继承者 java.lang.ClassLoader
      继承者 java.security.SecureClassLoader
直接已知子类:
URLClassLoader

public class SecureClassLoader
extends ClassLoader

此类扩展了 ClassLoader,使它另外还支持使用相关的代码源和权限定义类,这些代码源和权限默认情况下可根据系统策略检索到。


构造方法摘要
protected SecureClassLoader()
          使用默认的父类加载器为委托创建新 SecureClassLoader。
protected SecureClassLoader(ClassLoader parent)
          使用指定的父类加载器为委托创建新 SecureClassLoader。
 
方法摘要
protected  Class<?> defineClass(String name, byte[] b, int off, int len, CodeSource cs)
          使用可选的 CodeSource 将字节数组转换为 Class 类的实例。
protected  Class<?> defineClass(String name, ByteBuffer b, CodeSource cs)
          使用可选的 CodeSource 将 ByteBuffer 转换为 Class 类的实例。
protected  PermissionCollection getPermissions(CodeSource codesource)
          返回给定的 CodeSource 对象的权限。
 
从类 java.lang.ClassLoader 继承的方法
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResources, 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
 

构造方法详细信息

SecureClassLoader

protected SecureClassLoader(ClassLoader parent)
使用指定的父类加载器为委托创建新 SecureClassLoader。

如果有安全管理器,此方法会首先调用安全管理器的 checkCreateClassLoader 方法,以确保允许创建类加载器。

参数:
parent - 父 ClassLoader
抛出:
SecurityException - 如果安全管理器存在并且其 checkCreateClassLoader 方法不允许创建类加载器。
另请参见:
SecurityManager.checkCreateClassLoader()

SecureClassLoader

protected SecureClassLoader()
使用默认的父类加载器为委托创建新 SecureClassLoader。

如果有安全管理器,此方法会首先调用安全管理器的 checkCreateClassLoader 方法,以确保允许创建类加载器。

抛出:
SecurityException - 如果安全管理器存在并且其 checkCreateClassLoader 方法不允许创建类加载器。
另请参见:
SecurityManager.checkCreateClassLoader()
方法详细信息

defineClass

protected final Class<?> defineClass(String name,
                                     byte[] b,
                                     int off,
                                     int len,
                                     CodeSource cs)
使用可选的 CodeSource 将字节数组转换为 Class 类的实例。类必须解析后才能使用。

如果提供了非 null CodeSource,将构造 ProtectionDomain 并将其与要定义的类关联起来。

参数:
name - 期望的类名称,如果未知,则为 null,使用 '.'(而不是 '/')作为分隔符,并且末尾没有 ".class" 后缀。
b - 组成类数据的字节。从 offoff+len-1 的字节应该具有由《Java Virtual Machine Specification》定义的有效类文件的格式。
off - 类数据的 b 的起始偏移量
len - 类数据的长度
cs - 相关的 CodeSource,如果没有,则为 null
返回:
通过该数据创建的 Class 对象和可选的 CodeSource。
抛出:
ClassFormatError - 如果数据未包含有效的类
IndexOutOfBoundsException - 如果 offlen 为负数,或者 off+len 大于 b.length
SecurityException - 如果试图将该类添加到包含用与该类不同的证书集签名的类的包中,或者类名以 "java." 开头。

defineClass

protected final Class<?> defineClass(String name,
                                     ByteBuffer b,
                                     CodeSource cs)
使用可选的 CodeSource 将 ByteBuffer 转换为 Class 类的实例。类必须解析后才能使用。

如果提供了非 null CodeSource,将构造 ProtectionDomain 并将其与要定义的类关联起来。

参数:
name - 期望的类名称,如果未知,则为 null,使用 '.'(而不是 '/')作为分隔符,并且末尾没有 ".class" 后缀。
b - 组成类数据的字节。从 b.position()b.position() + b.limit() -1 的字节应该具有由《Java Virtual Machine Specification》定义的有效类文件的格式。
cs - 相关的 CodeSource,如果没有,则为 null
返回:
通过该数据创建的 Class 对象和可选的 CodeSource。
抛出:
ClassFormatError - 如果数据未包含一个有效类
SecurityException - 如果试图将该类添加到包含使用与该类不同的证书集签名的类的包中,或者类名以 "java." 开头。
从以下版本开始:
1.5

getPermissions

protected PermissionCollection getPermissions(CodeSource codesource)
返回给定的 CodeSource 对象的权限。

此方法将由 defineClass 方法调用,后者在构造 ProtectionDomain 时将 CodeSource 作为要定义的类的参数。

参数:
codesource - codesource。
返回:
授予 codesource 的权限。

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策