JAVA类加载机制

本文详细介绍了Java中类的初始化条件,包括通过特定字节码指令、反射机制、子类触发父类初始化以及包含main方法的类。同时,深入探讨了类加载的过程,涉及加载、验证、准备、解析和初始化五个阶段,并解释了类加载器的双亲委托机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

类初始化条件:

1、new getstatic putstatic invokestatic指令

2、反射

3、子类触发父类

4、main方法的类


类加载过程:

1、加载:类变成二进制字节流,转化为方法区的运行时的数据结构,堆中生成一个代表这个类的对象

2、验证:文件格式、接口、父子类、符号引用等

3、初始化常量值

4、解析:字段、方法、类等

5、收集static块,放到类构造器clinit执行


类加载双亲委托机制:

爸爸们先加载,加载不到才轮到儿子,所以顺序为:

1、启动类加载器

2、扩展类加载器

3、应用程序类加载器

4、自己手写的~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值