首页 > 编程语言 > 详细

java类的加载与加载器

时间:2019-10-31 21:29:55      阅读:63      评论:0      收藏:0      [点我收藏+]

Student s=new Student(); 是我们自己创建的一个类,java加载类时,用到哪个类会将该类加载。(边用边加载)

JVM如何加载Student这个类?(加载-链接-初始化)

1.JVM把Student这个类的Class对象加载进来了

第一次加载该类时,JVM先从磁盘上找到该类的字节码文件(Student.class),JVM从系统环境变量的CLASSPATH里面找字节码文件的搜索路径。

.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar(.代表CLASSPATH工程目录下(如要找Student类,要找对应的Module下找要加载的类),如果不是自己写的,会在后面的jdk库里面找字节码文件(如:System类.out等),将系统写好的打包放在架包里

通过类加载器,从Student.class字节码文件中,把这个类的各种信息(类名、类的属性和方法)先加载到JVM中,这些信息的集合(相当于人的户口信息)称作Class对象(大写C)

技术分享图片

 2.链接:验证类的Class对象的合法性,开辟内存空间。

准备、验证的过程,验证当前类能够在JVM上运行(检车类的Class对象),给类的static静态成员开辟内存空间,如果当前类还有基类,继续加载其基类(执行1.2.3步)。

3.初始化

给static静态成员初始化,调用类的static静态初始化块

 

到此,类的加载完成了!

 

java类的加载与加载器

原文:https://www.cnblogs.com/laurarararararara/p/11773625.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!