美文网首页
类加载机制及反射

类加载机制及反射

作者: 绝对熙俊 | 来源:发表于2018-12-07 18:14 被阅读0次

类加载步骤

JVM类加载分为5个过程:加载,验证,准备,解析,初始化,使用,卸载

加载
将.class文件或者其他文件中的二进制字节流读入到JVM中
1,通过类的全名获取二进制字节流
2,将1中获取二进制字节流代表的静态存储结构转化为方法区运行时的数据结构
3,根据2中的数据结构生成一个该类的java.lang.Class对象,用于方法区调用该类的访问入口

验证
确保加载进来的二进制字节流符合JVM的规范
1,验证文件格式是否正确
2,验证元数据是否正确,即是否符合JAVA规范
3,验证字节码是否正确,即是否符合语法规范 4,验证符号引用,即是否符合解析规范,保证可以正常解析 

准备
为静态变量在方法区分配空间,并设定初始值

解析
JVM将常量池中的符号引用替换成直接引用

初始化
根据程序代码中的复制语句,主动给类的变量赋值
先父后子原则:先赋值父类再赋值子类

什么时候需要对类进行初始化设置呢? 
1,使用new创建一个该类的实例化对象的时候
2,调用一个类的静态方法
3,调用一个类或接口的静态字段,或者对其赋值时
4,调用JavaApi的反射方法时
5,初始化一个派生类时
6,JVM启动包含main方法的启动类时

相关文章

  • 类加载机制及反射

    类加载步骤JVM类加载分为5个过程:加载,验证,准备,解析,初始化,使用,卸载 加载将.class文件或者其他文件...

  • Java基础之反射

    Java-Reflect Class类的使用 方法的反射 成员变量的反射 构造函数的反射 Java类加载机制 一、...

  • 反射机制,类加载机制

    反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个...

  • 【JAVA】京东一面

    1、类加载机制概念、加载步骤、双亲委托机制、全盘委托机制、类加载器种类及继承关系 2、如何实现让类加载器去加载网络...

  • Java学习day-23:反射机制

    一、反射机制_Class对象获取: 1.反射机制: 反射机制是java的动态性之一;一个类被加载后,JVM 会创建...

  • 学习笔记 | JAVA的反射(二)

    利用反射机制动态加载类 、获取类的方法、获取类的属性 编译时刻加载类是静态加载类,运行时加载类是动态加载类 正常创...

  • 插件化笔记

    看这个就够了啊,深入理解Android插件化技术 插件化技术核心 类的加载机制和反射机制。 类加载 https:/...

  • java反射机制与类加载机制

    java反射机制与类加载机制 Class (Java SE 9 & JDK 9 ) - https://docs....

  • Java类加载机制及类加载机制详解

    [转]Java类加载机制及类加载机制详解[https://lrh1993.gitbooks.io/android_...

  • b04-2 spring容器相关java知识-反射(精通Spri

    本篇内容: 1、java反射实现 2、java类加载器ClassLoader 3、java反射机制 一、java反...

网友评论

      本文标题:类加载机制及反射

      本文链接:https://www.haomeiwen.com/subject/barmcqtx.html