类的加载与ClassLoader的理解

本文主要介绍了Java类的加载过程,包括加载、链接和初始化三个阶段。加载阶段将字节码放入内存,转化静态数据并生成Class对象;链接阶段进行验证、准备和解析;初始化阶段执行类构造器,初始化父类,且虚拟机保证类方法在多线程环境中正确加锁和同步。

类的加载的理解

  • 加载(准备工作)

    • 1字节码放到内存
    • 2静态数据转化成运行时数据结构
    • 3生成java.lang.Class对象
  • 链接(启动工作)

    • 1验证(确保符合JVM规范)
    • 2准备(为类变量【static】分配内存设置初始值)
    • 3解析(虚拟机常量池符号替换为直接引用地址)
  • 初始化(开始工作)

    • 1执行类构造器(收集类中所有类变量中的赋值和静态代码块中的语句合并产生)
    • 2初始化父类(如果存在并且还没初始化)
    • 3虚拟机会保证类方法在多线程环境中被正确加锁和同步
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值