jvm-类加载器

jvm-类加载器的三个过程

1. 加载

通过一个类的全限定名获取此类的二进制字节流

. 将这个字节流所代表的静态存储结构转化成方法区运行时数据结构
. 在内存生成一个代表这个类的class对象,作为方法区这个类的各种数据的访问入口

2. 链接

验证
	确保class文件符合当前虚拟机的要求
准备
	为类变量分配内存,并设置类变量的初始值,不会给实列变量初始化
解析
	将类的符号引用转化为实际引用

3. 初始化

. 初始化的过程就是执行类构造器方法<clinit()>方法的过程,javac编译器自动收集类中的所有变量的赋值动作和静态代码快中的语句合并起来
. 构造器方法中指令语句在原文件出现的顺序执行
. clinit()不同于类的构造器
. 虚拟机必须保证一个类的方法 只执行一次

猜你喜欢

转载自blog.csdn.net/weixin_40128696/article/details/107669893
今日推荐