类加载全过程(浅谈)

类加载的机制

–JAVA把Class文件加载到内存中,并对数据进行效验,解析和初始化,最终形成JVM可以直接使用的JAVA类型的过程。

分为:

1.加载(先加载类,再加载对象!)

将Class字节码内容加载到内存中,并将这些静态数据换成方法区中运行时的二进制数据结构,在堆中生成一个代表这个类的java.lang.class–对象(反射对象)可以指向方法区的数据,作为方法区类数据的访问入口。

class字节码(一个字节数组)->类加载器->方法区运行时数据->class对象->外部可以通过操作class对象,作为操作类的入口。

2.链接

验证:确保加载的类信息符合JVM规范,考虑安全问题。
准备:正式为类变量,类方法(static)分配内存并设置类变量的初始值,这些内存都在方法区内分配。
解析:虚拟机常量池内符号引用替换为直接引用的过程(每个类都有一个常量池并定位常量地址)。

3.初始化

(1).类初始化是执行类构造器方法(不是对象的构造器)的过程。类构造器方法是由编译器自动收集类中所有类变量的赋值动作和静态语句块的语句合并产生的。
(2) .当初始化一个类的时候,如何父类没有初始化,先初始化父类。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值