首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

求教一个Java内存分配的有关问题,多谢

2013-01-23 
求教一个Java内存分配的问题,谢谢!假设在一个类中定义了全局变量:inta12 请问a和12分别存储在内存的

求教一个Java内存分配的问题,谢谢!
假设在一个类中定义了全局变量:int  a  =  12; 请问"a"和"12"分别存储在内存的哪个地方呢?同理,对于一个方法中定义的局部变量int  b = 20;呢,这里的“b”和“20”的空间又是被分配到了内存的哪个地方呢?求赐教,谢谢!
mv是引用类型变量,存储在栈内存中,而对象本身(以及对象中的变量)被存放在堆内存中
这是个人理解,请指正。

[解决办法]

引用:
首先说明一下java中的变量分类:
java中的变量分为成员变量和局部变量。成员变量有分为实例变量(非static变量)和类变量(static变量);局部变量分为形参、方法内部的变量、代码块中的变量。
全局变量一般在接口中定义,如:


Java code
?



12

public static final int SIZE = 50
用一段代码来说明一下:

……

这里的b是基本数据类型,放在栈中,不是堆
[解决办法]
将.class反编译一下 你懂点汇编的话就会看到你想要的答案
[解决办法]
这里的a,b都是基本数据类型,都放在栈区

热点排行