给小白讲讲Java虚拟机中的类加载

作为一个合格的java程序猿,类加载机制可谓是老生常谈,也是面试中经常会问到的一个问题,那么到底什么是类加载呢?

第一步:初始化虚拟机,产生启动类加载器ClassLoader(用于将类加载到虚拟机中)

第二步:创建一个字节数组读取.class(二进制文件)文件到内存中

第三步:创建与所加载类的Class对象

第四步:进入连接阶段,包括验证(确保.class文件的字节流中包含的信息符合当前虚拟机的要求,并且不会危害虚拟机自身的安全。),准备(为静态变量分配内存和设置默认初始值,假如定义了int number=10,则设置number的初始值为0,初始值与类型有关,),解析(将符号引用替换为直接引用)

第五步:进行初始化(比如上个步骤的number赋值为10)

至此类加载的过程就完成了(由于此篇文章面向小白,底层原理并未讲解)

当我们使用java命令来运行这个.class文件时,系统就会创建一个jvm线程,这个线程会找到主函数的入口,开始执行main函数

猜你喜欢

转载自blog.csdn.net/qq_38162448/article/details/81382810