java中,静态变量存储在哪个区啊,堆还是栈啊,或者说其他地方,谢谢

如题所述

首先,java里面是没有静态变量这个概念的,不信你自己在方法里面定义一个static
int
i
=0;java里只有静态成员变量。它属于类的属性。至于他放在那里?楼上说的是静态区。我不知道到底有没有这个翻译。但是
深入jvm里是是翻译为方法区的。虚拟机的体系结构:堆,方法区,本地方法栈,pc寄存器。而方法区保存的就是一个类的模板,堆是放类的实例的。栈是一般来用来函数计算的。随便找本计算机底层的书都知道了。栈里的数据,函数执行完就不会存储了。这就是为什么局部变量每一次都是一样的。就算给他加一后,下次执行函数的时候还是原来的样子。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-10-03
方法区:类的所有信息,包括所有的方法,静态变量,常量本回答被提问者采纳
第2个回答  2009-10-03
我觉得是堆里面,因为他和类是一个级别的,类好像就存堆里。
第3个回答  2009-10-03
常量池
第4个回答  2009-10-03
存储在类定义里面,就是class文件里,编译运行时会被映射到内存
相似回答