黑马程序员技术交流社区
标题:
。。。。。。提问。。。。。。
[打印本页]
作者:
班志国
时间:
2012-10-14 07:27
标题:
。。。。。。提问。。。。。。
本帖最后由 班志国 于 2012-10-14 09:24 编辑
class B
{
int i=8;
public static void main(String[] args)
{
//我想知道这种情况i在那片内存(没new对象啊)
}
}
作者:
王冬
时间:
2012-10-14 08:01
int i= 8 这里的i是一个指向int类型的引用,指向8这个字面值。这些字面值的数据,由于大小可知,生存期可知(这些字面值固定定义在某个程序块里面,程序块退出后,字段值就消失了),出于追求速度的原因,就存在于栈中。
作者:
王冬
时间:
2012-10-14 08:07
通过new方法创建类的对象放在堆中,创建后,栈中会创建类对象的引用(内存地址)。方法区存放所有的class和静态变量,其中存放的是整个程序中唯一的元素。
作者:
行如止水
时间:
2013-8-8 15:45
int i = 8;//这个是在静态变量区;
在main函数里的内容则要看你怎么定义了,在栈或者堆中!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2