zoukankan      html  css  js  c++  java
  • 【JVM学习笔记】Class.forName方法学习

    三个参数的版本的源代码如下

     doc文档翻译

    使用给定的类加载器(即第3个参数)返回与具有给定字符串名称(第1个参数)的类或接口关联的Class对象。给定类或接口的完全限定名称(以getName返回的相同格式),此方法尝试查找,加载和链接类或接口。指定的类加载器用于加载类或接口。如果参数加载器为null,则通过引导类加载器加载该类。仅当initialize参数为true且之前尚未初始化时,才会初始化该类。
    如果name表示基本类型或void,则将尝试在名称为name的未命名包中查找用户定义的类。因此,此方法不能用于获取表示基本类型或void的任何Class对象。
    如果name表示数组类,则加载数组类的组件类型但不进行初始化。
    例如,在实例方法中,表达式为:
    的Class.forName("Foo")
    相当于:
    Class.forName("Foo",true,this.getClass().getClassLoader())
    请注意,此方法会引发与Java语言规范的第12.2节,第12.3节和第12.4节中指定的加载,链接或初始化相关的错误。请注意,此方法不会检查其调用者是否可以访问所请求的类。
    如果加载器为null,并且存在安全管理器,并且调用者的类加载器不为null,则此方法使用RuntimePermission(“getClassLoader”)权限调用安全管理器的checkPermission方法,以确保可以访问引导类加载器。
    
    Parameters:
      name  - 所需类的完全限定名称
      initialize  - 如果为true,则将初始化类。请参阅Java语言规范的第12.4节。
      loader  - 必须加载类的类加载器
    Returns:
      表示所需类的类对象
    Throws:
      LinkageError  - 如果链接失败
      ExceptionInInitializerError  - 如果此方法引发的初始化失败  
      ClassNotFoundException  - 如果指定的类加载器无法找到该类
    Since:
      1.2
    see also:
      forName(String),ClassLoader
    外部注释:
      @ org.jetbrains.annotations.NonNls
  • 相关阅读:
    又玩起了“数独”
    WebService应用:音乐站图片上传
    大家都来DIY自己的Blog啦
    CSS导圆角,不过这个代码没有怎么看懂,与一般的HTML是不同
    网站PR值
    CommunityServer2.0何去何从?
    网络最经典命令行
    炎热八月,小心"落雪"
    Topology activation failed. Each partition must have at least one index component from the previous topology in the new topology, in the same host.
    SharePoint 2013服务器场设计的一些链接
  • 原文地址:https://www.cnblogs.com/heben/p/11455600.html
Copyright © 2011-2022 走看看