网站图标做多大好,大型门户网站建设效果,如何做电影网站赚钱,海外营销方案文章目录 类装载的执行过程1.加载2.验证3.准备4.解析5.初始化6.使用7.卸载 类装载的执行过程
类装载总共分为7个过程#xff0c;分别是 加载#xff0c;验证#xff0c;准备、解析、初始化、使用、卸载
1.加载 将类的字节码文件加载到内存(元空间#xff09;中。这一步会… 文章目录 类装载的执行过程1.加载2.验证3.准备4.解析5.初始化6.使用7.卸载 类装载的执行过程
类装载总共分为7个过程分别是 加载验证准备、解析、初始化、使用、卸载
1.加载 将类的字节码文件加载到内存(元空间中。这一步会创建一个与被加载类对应的Class对象。 通过类的全名获取类的二进制数据流。 解析类的二进制数据流为方法区内的数据结构Java类模型 创建java.lang.Class类的实例表示该类型。作为方法区这个类的各种数据的访问入口 2.验证 验证类是否符合 JVM规范安全性检查不会造成安全或内存损坏等问题 前三个都属于格式检查第四个符号引用验证其实就是看class字节码中的程序指令对应的符号在常量池中是否有对应的类和方法检查是否存在不存在就会报相应不存在的错误
3.准备 为类变量分配内存并设置类变量初始值 例如如下类 static变量分配空间在准备阶段完成设置默认值赋值在初始化阶段完成 static变量是final的基本类型以及字符串常量值已确定赋值在准备阶段完成 static变量是final的引用类型那么赋值会在初始化阶段完成
4.解析 把类中的符号引用转换为直接引用 符号引用指的是用于描述对其他类、字段、方法的引用的符号而直接引用则是指向具体内存地址的指针。 5.初始化 对类的静态变量静态代码块执行初始化操作 初始化规则就是
如果初始化一个类的时候其父类尚未初始化则优先初始化其父类。如果同时包含多个静态变量和静态代码块则按照自上而下的顺序依次执行。
6.使用 在程序运行期间使用已经加载和初始化的类。 JVM 开始从入口方法开始执行用户的程序代码
调用静态类成员信息比如静态字段、静态方法 静态的直接调用 使用new关键字为其创建对象实例 非静态的先new个对象实例再通过对象调用 7.卸载
当不再需要某个类时卸载它以释放内存空间。或者程序结束也会自动卸载