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

javax.management.loading
接口 ClassLoaderRepository


public interface ClassLoaderRepository

此接口的实例用于保持在 MBean Server 中注册的 ClassLoader 的列表。它们提供了使用注册的 ClassLoader 来加载类所必需的方法。

ClassLoaderRepository 中的首个 ClassLoader 始终是 MBean Server 本身的 ClassLoader。

当在 MBean Server 中注册 MBean 时,如果它是 ClassLoader 的一个子类,并且它不实现 PrivateClassLoader 接口,那么将它添加到 MBean Server 的 ClassLoaderRepository 的末尾。如果以后从 MBean Server 注销它,则它将从 ClassLoaderRepository 中移除。

ClassLoaderRepository 中的 MBean 顺序是很重要的。对于 ClassLoaderRepository 中的任意两个 MBean XY,如果在 Y 的注册开始之前已完成 X 的注册,则 X 必须出现在 Y 的前面。如果 XY 是同时注册的,则它们的顺序是不确定的。注册 MBean 对应于调用 MBeanServer.registerMBean(java.lang.Object, javax.management.ObjectName) 或某个 MBeanServer.createMBean 方法。

从以下版本开始:
1.5
另请参见:
MBeanServerFactory

方法摘要
 Class loadClass(String className)
          通过类加载器列表加载给定的类名称。
 Class loadClassBefore(ClassLoader stop, String className)
          通过类加载器列表加载给定的类名称,在某个给定的类加载器处停止。
 Class loadClassWithout(ClassLoader exclude, String className)
          通过类加载器列表加载给定的类名称,不包括某个给定的类加载器。
 

方法详细信息

loadClass

Class loadClass(String className)
                throws ClassNotFoundException

通过类加载器列表加载给定的类名称。依次请求 ClassLoaderRepository 的每个 ClassLoader 通过其 ClassLoader.loadClass(String) 方法来加载类。如果它成功返回一个 Class 对象,则该对象就是此方法的结果。如果抛出 ClassNotFoundException,则继续搜索下一个 ClassLoader。如果抛出另一个异常,则从此方法传播该异常。如果到达列表的末尾,则抛出 ClassNotFoundException

参数:
className - 要被加载的类名称。
返回:
加载的类。
抛出:
ClassNotFoundException - 如果找不到指定的类。

loadClassWithout

Class loadClassWithout(ClassLoader exclude,
                       String className)
                       throws ClassNotFoundException

通过类加载器列表加载给定的类名称,不包括某个给定的类加载器。依次请求 ClassLoaderRepository 的每个 ClassLoader(除 exclude 之外)通过其 ClassLoader.loadClass(String) 方法来加载类。如果它成功返回一个 Class 对象,则该对象就是此方法的结果。如果抛出 ClassNotFoundException,则继续搜索下一个 ClassLoader。如果抛出另一个异常,则从此方法传播该异常。如果到达列表的末尾,则抛出 ClassNotFoundException

注意,如果 ClassLoaderRepository 中的某个 ClassLoader 从其 loadClass 方法调用此方法,那么如果 ClassLoaderRepository 中的另一个 ClassLoader 同时也在执行相同操作,则该 ClassLoader 将发生死锁。推荐使用 loadClassBefore(java.lang.ClassLoader, java.lang.String) 方法以避免死锁风险。

参数:
className - 要被加载的类名称。
exclude - 不包括的类加载器。可能为 null,在这种情况下此方法等效于 loadClass(className)
返回:
加载的类。
抛出:
ClassNotFoundException - 如果找不到指定的类。

loadClassBefore

Class loadClassBefore(ClassLoader stop,
                      String className)
                      throws ClassNotFoundException

通过类加载器列表加载给定的类名称,在某个给定的类加载器处停止。依次请求 ClassLoaderRepository 的每个 ClassLoader 通过其 ClassLoader.loadClass(String) 方法来加载类。如果它成功返回一个 Class 对象,则该对象就是此方法的结果。如果抛出 ClassNotFoundException,则继续搜索下一个 ClassLoader。如果抛出另一个异常,则从此方法传播该异常。如果搜索到达 stop 或列表的末尾,则抛出 ClassNotFoundException

通常从 stop 处的 loadClass 方法调用此方法,以参考 ClassLoaderRepository 中出现在它之前的的加载器。一旦遇到 stop,搜索立即停止,这样就避免了可能出现的并发类加载死锁。

参数:
className - 要被加载的类名称。
stop - 停止处的类加载器。可能为 null,在这种情况下此方法等效于 loadClass(className)
返回:
加载的类。
抛出:
ClassNotFoundException - 如果找不到指定的类。

JavaTM 2 Platform
Standard Ed. 5.0

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

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