java中的静态成员是否是在类加载的时候就被加载到内存中了?
2个回答
展开全部
对,首先可以肯定的是你的说法是正确的。
类加载的过程有以下几个过程:加载、验证、准备、解析
在准备的过程中,静态成员变量就会进行内存分配,而不包括实例变量,实例变量是在对象实例化随着对象一起分配在java堆中的。但是要注意一点,比如:public static int a=1;那变量在准备阶段过后的初始值是0而不是1.因为这个时候尚未执行任何的Java方法。而是赋值了一个初始值,如果是引用成员变量就会为null,其他基本类型对应的是其基本默认值。
ps:以上资料来自《深入Jvm虚拟机》
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询