java中new一个对象,请帮我分析下堆栈。以下两个例子麻烦网友帮我解释下
例如:Aa=newA();什么东西放在栈中,什么东西放在堆中又例如:inta=9;什么东西放在栈中,什么东西放在堆中...
例如:A a=new A();什么东西放在栈中,什么东西放在堆中
又例如:int a=9;什么东西放在栈中,什么东西放在堆中 展开
又例如:int a=9;什么东西放在栈中,什么东西放在堆中 展开
展开全部
A a作为引用是放在栈中的,而new的对象是放在堆中的,字面常量放在常量池中。 基本类型是放在栈中的。
1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.
2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)
3. 堆:存放所有new出来的对象。
4. 静态域:存放静态成员(static定义的)
5. 常量池:存放字符串常量和基本类型常量(public static final)。
6. 非RAM存储:硬盘等永久存储空间
1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.
2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)
3. 堆:存放所有new出来的对象。
4. 静态域:存放静态成员(static定义的)
5. 常量池:存放字符串常量和基本类型常量(public static final)。
6. 非RAM存储:硬盘等永久存储空间
展开全部
所谓的栈结构就像我们小时候玩的汉诺塔一样,必须要服从先进后出的原则.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
栈一帮是函数,是一种线性存储结构,经典应用就是计算机处理运算问题,变量可以直接使用;堆是一种无序的存储结构,其中的变量一定要有应用或者指针才可以使用。其中的东西可以自己放置,只是使用方式不一,物理存储不一样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
引用放在 栈中 对象放在 堆中
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询