JVM中类的加载链接和初始化是怎么样的
JVM中类的加载链接和初始化
1、加载:JVM通过类加载器,将类的二进制字节流加载到内存中,并且将其转换为方法区的运行时数据结构,然后在堆中生成一个代表这个类的java.lang.Class对象,作为方法区中这个类的各种数据的访问入口。
2、链接:链接分为校验、准备和解析三个阶段。校验主要确保加载的类信息符合字节码规范,准备阶段主要为类变量分配内存并设置类变量的初始值,解析阶段主要将符号引用转换为直接引用。
3、初始化:初始化就是执行类构造器<clinit>
方法的过程,<clinit>
方法是由编译器自动收集类中的所有类变量的赋值动作和静态语句块(static{})中的语句合并产生的,类的初始化需要先触发其父类的初始化,但是只会触发一次。
猜您想看
-
python中的break语句和continue语句是怎样的
break语句...
2023年07月20日 -
博客快速整合公众号导流工具Hexo的用法
一、Hexo介...
2023年05月26日 -
怎么把自己的开源项目发布到Pypi服务器
准备工作在将自...
2023年07月21日 -
如何在CS:GO游戏中快速升级并解锁新功能?
如何快速升级并...
2023年04月17日 -
怎样进行添加Spring-Security支持
添加Sprin...
2023年07月21日 -
如何解决RocketMQ生产环境主题扩分片后遇到的坑
问题背景 Ro...
2023年07月22日