【笔记】类的生命周期

来源:互联网 发布:江西财经大学网络 编辑:程序博客网 时间:2024/06/03 21:53

java中类的生命周期:


1.类的生命周期是:加载->验证->准备->解析->初始化->使用->卸载,只有在准备阶段和初始化阶段才会涉及类变量的初始化和赋值;

(注:验证、准备、解析我们叫做连接。我们通常说的类加载,指的是加载、连接、初始化三个阶段。final static int i = 100在加载的时候就会被赋初值100)


2.验证主要验证的信息是是否复合字节码、变量方法是否有重复、数据类型是否有效、继承是否有效等等,验证主要功能就是保证类要在jvm 运行。


3.类的准备阶段需要做是为类变量(static类型的变量)分配内存并设置默认值,非静态的变量则不会为其分配内存。基本类型如int、long、short、char、byte、boolean、float、double的值都为0.引用类型的值都为null,常量的默认值就是初始值(final static int i = 100)且在加载的时候就会保存在内存中。


4.解析阶段的任务就是将类名、变量名、方法名转换成真正在内存中的地址。


5.类的初始化阶段主要clinit方法(clinit方法中主要是静态块和类变量的初始化语句按照在源码中的顺序保存的,执行类的构造方法是clinit方法)。对象的初始化(执行init方法)顺序是先初始化成员变量在执行构造方法



原创粉丝点击