栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

2类的加载过程

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2类的加载过程

(1)加载(Loading)

1通过一个类的全限定名获取定义类的二进制字节流

2将字节流代表的静态储存结构转化为方法区的运行时数据结构

3内存中生成一个代表这个类的class对象 作为方法区这个类的各种数据访问入口

4加载class文件方式

   本地系统中直接加载 通过网络获取 通过zip压缩包获取 动态代理

(2)链接 --(验证--准备--解析)

  验证: 目的在于确保class文件的字节流中包含信息符合当前虚拟机要求 保证被加载类的正确性

主要有四种验证 文件格式验证 元数据验证 字节码验证 符号引用验证

准备: 为类变量分配内存设置该类变量默认初始值,

这里不包含用final修饰的static 因为final在编译的时候就会分配了 ,准备阶段会显示初始化

不会为实例变量分配初始化,变量会分配在方法区中,实例变量是会随着对象一起分配到java堆中

解析 将常量池内的符号引用转换为直接引用过程

事实上 解析操作往往伴随着jvm在执行初始化之后再执行

        

(3)初始化

初始化阶段就是执行类构造器方法()过程

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/736335.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号