入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

反射和类加载

创建时间:2018-03-06 投稿人: 浏览次数:124
类的加载:        当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来对这个类进行初始化。        加载:                就是将指定的class文件读入内存,并为之创建一个Class对象。                任何类被使用时系统都会创建一个Class对象。        连接:                验证:是否有正确的内部结构,并和其它类协调一致                准备:负责为类的静态成员分配内存,并设置默认值。                解析:将类的二进制数据中的符号引用,替换为直接引用,        初始化:类的初始化类加载器:        负责将.class文件加载到内存中,并为之生成相应的Class对象。        类加载器的组成:            Bootstrap ClassLoader 根类加载器                     -----也被称为引导类加载器,负责java核心类的加载,比如System,String等,在JDK中的JRE的lib目录下的rt.jar下            Extendsion ClassLoader扩展类加载器                    -----负责JRE扩展目录下的jar包的加载,在JDK的jre的lib目录下的ext目录            App ClassLoader系统类加载器                    -----负责在JVM启动时加载来自java命令的class文件以及classpath环境变量的所指定的jar包和类路径java反射机制:        JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制        得到类的Class文件                方式1:                        new一个对象,然后用该对象的getClass()方法得到                方式2:                        用类的class属性获得,                方式3:                        用Class.forName(全限定包名);    //推荐使用方式3        







阅读更多
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
  • 上一篇:没有了
  • 下一篇:没有了
未上传头像