java中的全局变量和静态变量是在编译时分配内存还是在加载时分配内存??

如题所述

全局变量 ( 成员变量 )是在创建对象的时候分配内存的 创建对象过程为 1 分配空间 2 递归的创建父类对象(无父类这步可省略) 3 初始化成员变量 4 调用构造方法创建一个对象

静态变量是在类加载的时候分配空间的,静态变量和对象没有关系 是在JVM第一次读到一个类的时候加载信息的过程中分配空间的 类加载过程为 1 加载父类(如果父类已经加载过,则不在加载)2初始化静态属性 3 按顺序的初始化静态代码块
初始化的前提就是分配空间
而且静态变量在以后的创建对象的时候不在初始化 所以一般用静态来保存共享信息

希望对你有所帮助
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-06
在加载运行时才分配!
第2个回答  2012-10-06
啥叫全局变量?

静态的在载入时分配。
相似回答