前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Java】类的加载过程

【Java】类的加载过程

作者头像
CODER-V
发布2023-03-07 21:01:39
2950
发布2023-03-07 21:01:39
举报
文章被收录于专栏:藏经阁

1. 类的加载过程

类的加载过程又分为三个步骤:

过程1:类的装载(Loading)

将类的class文件读入内存,并为之创建一个java.lang.Class的实例对象,此过程由类加载器(负责类的加载,对应一个Class实例)完成。

过程2:链接(Linking)

  1. 验证(Verify):确保加载的类的信息符合JVM规范,例如:每一个class文件都以cafebabe开头,没有安全方面的问题。
  2. 准备(Prepare):正式为类中的(static)静态变量分配内存,并设置默认初始化值的阶段。这些内存都在方法区中进行分配。
  3. 解析(Resolve):虚拟机常量池内得符号引用(常量名)替换为直接引用(地址)的过程。

过程3:初始化(initialization)

执行类构造器方法的过程。执行所有类中(static)静态变量和(static)静态代码块中的语句的赋值动作,这些操作都在方法中进行。

因为类的加载过程中还没有对象的存在,因而赋值操作也只能是对静态变量进行。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-03-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 类的加载过程
    • 类的加载过程又分为三个步骤:
      • 过程1:类的装载(Loading)
        • 过程2:链接(Linking)
          • 过程3:初始化(initialization)
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档