什么是java类的生命周期?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
生命周期:类的加载->连接->初始化->使用->卸载。
详细介绍:
1、类的加载
查找并加载类的二进制数据(指class文件),通俗的将就是硬盘上的class文件加载到jvm内存中
2、连接: 确定类与类之间的关系;比如person.setAddress(address) 人对象中嵌套一个地址对象
验证:正确性校验
准备:static静态变量分配内存,并赋初始化默认值。
比如static int num=10;
在准备阶段,会吧num=0,之后再将0修改为10。准备阶段只会把num赋值为0,。jvm只有类,没有对象。
初始化顺序:static->非static->构造方法
public class Student{ static int age;//准备阶段,将age=0
String name;
}
加载完类,程序只有学生类,没有学生对象,还没有 Student s=new Student()这句话
解析:把类中符号引用,转为直接引用
前期阶段,还不知道类的具体内存地址,只能使用com.pojo.Student来代替student类。
com.pojo.Student就成为符号引用;
在解析阶段,jvm就可以将com.pojo.Student映射程实际的内存地址,之后就用内存地址来代替 Student,这种使用内存地址来使用类的方式就成为直接引用
(视频教程推荐:java视频教程)
3、初始化:
比如static int num=10;
在准备阶段,会吧num=0,之后(初始化阶段之后)再将0修改为10。
4、使用: 对象的初始化,对象的垃圾回收,对象的销毁
5、卸载:
jvm结束生命周期的时机:
正常结束
异常结束、错误
System.exit()
操作系统异常
看完上述内容,你们掌握什么是java类的生命周期的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。