- java.lang.Object
-  
      - java.rmi.server.RMIClassLoaderSpi
 
-  
       
 
 public abstract class RMIClassLoaderSpi extends Object RMIClassLoaderSpi是服务提供者接口RMIClassLoader。 特别地,RMIClassLoaderSpi实例提供了以下静态方法的RMIClassLoader:RMIClassLoader:-  RMIClassLoader.loadClass(URL,String)
-  RMIClassLoader.loadClass(String,String)
-  RMIClassLoader.loadClass(String,String,ClassLoader)
-  RMIClassLoader.loadProxyClass(String,String[],ClassLoader)
-  RMIClassLoader.getClassLoader(String)
-  RMIClassLoader.getClassAnnotation(Class)
 RMIClassLoader的文档。- 从以下版本开始:
- 1.4
- 另请参见:
-  
         RMIClassLoader
 
-  
-  
        
       -  
             构造方法摘要构造方法 Constructor 描述 RMIClassLoaderSpi()
 -  
             方法摘要所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 abstract StringgetClassAnnotation(Class<?> cl)abstract ClassLoadergetClassLoader(String codebase)abstract Class<?>loadClass(String codebase, String name, ClassLoader defaultLoader)abstract Class<?>loadProxyClass(String codebase, String[] interfaces, ClassLoader defaultLoader)
 
-  
             
-  
        
       -  
             方法详细信息-  loadClasspublic abstract Class<?> loadClass(String codebase, String name, ClassLoader defaultLoader) throws MalformedURLException, ClassNotFoundException 为贯彻RMIClassLoader.loadClass(URL,String),RMIClassLoader.loadClass(String,String),并RMIClassLoader.loadClass(String,String,ClassLoader)。 从代码库URL路径加载类,可选地使用提供的加载程序。 通常,在尝试从代码库URL路径解析类之前,提供者实现将尝试使用给定的defaultLoader(如果指定)来解析命名类。该方法的实现必须返回具有给定名称的类或引发异常。 - 参数
-  
              codebase- 加载类的URL列表(由空格分隔),或null
-  
              name- 要加载的类的名称
-  
              defaultLoader- 要使用的附加上下文类加载器,或null
- 结果
- 
               表示加载的类的 
              Class对象
- 异常
-  
              MalformedURLException- 如果codebase不是null并且包含无效的URL,或者如果codebase是null并且用于加载类的提供程序特定URL无效
-  
              ClassNotFoundException- 如果在指定位置找不到类的定义
 
 -  loadProxyClasspublic abstract Class<?> loadProxyClass(String codebase, String[] interfaces, ClassLoader defaultLoader) throws MalformedURLException, ClassNotFoundException 提供RMIClassLoader.loadProxyClass(String,String[],ClassLoader)的实现。 加载一个动态代理类(参见Proxy,可以从代码库URL路径中实现一组与给定名称的接口,可选地使用提供的加载程序。此方法的实现必须返回实现命名接口的代理类或抛出异常。 - 参数
-  
              codebase- 加载类的URL列表(空格分隔),或null
-  
              interfaces- 要实现的代理类的接口的名称
-  
              defaultLoader- 要使用的附加上下文类加载器,或null
- 结果
- 一个实现命名接口的动态代理类
- 异常
-  
              MalformedURLException- 如果codebase不是null并且包含无效的URL,或者如果codebase是null并且用于加载类的提供者特定的URL无效
-  
              ClassNotFoundException- 如果在指定位置找不到某个命名接口的定义,或者如果动态代理类的创建失败(例如,如果Proxy.getProxyClass(ClassLoader,Class[])将为给定接口列表抛出一个IllegalArgumentException)
 
 -  getClassLoaderpublic abstract ClassLoader getClassLoader(String codebase) throws MalformedURLException 提供RMIClassLoader.getClassLoader(String)的实现。 返回从给定的代码库URL路径加载类的类加载器。如果有一个安全管理员,它的 checkPermission方法将被调用一个RuntimePermission("getClassLoader")权限; 这可能会导致一个SecurityException。 该方法的实现还可以执行进一步的安全检查,以验证呼叫上下文是否具有连接到代码库URL路径中的所有URL的权限。- 参数
-  
              codebase- 返回的类加载器从其加载类的URL(空格分隔)列表,或null
- 结果
- 一个类加载器,它从给定的代码库URL路径加载类
- 异常
-  
              MalformedURLException- 如果codebase是非null并且包含无效URL,或者如果codebase是null并且用于标识类加载器的提供者特定URL无效
-  
              SecurityException- 如果有安全管理器,并且其checkPermission方法的调用失败,或者主叫方没有权限连接到代码库URL路径中的所有URL
 
 -  getClassAnnotationpublic abstract String getClassAnnotation(Class<?> cl) 提供RMIClassLoader.getClassAnnotation(Class)的实现。 返回在编组给定类的对象时,RMI将用于注释类描述符的注释字符串(表示类定义的位置)。- 参数
-  
              cl- 获取注释的类
- 结果
- 
               一个字符串,用于在给定的类进行编组时用于注释,或者是 
              null
- 异常
-  
              NullPointerException- 如果cl是null
 
 
-  
 
-