java,中的堆和栈?

来源:百度知道 编辑:UC知道 时间:2024/05/06 22:30:56
请详细介绍java的堆和栈,哪个大,那个小,什么区别等,谢谢。

1.所有的基本数据类型全部是存储在栈里面,因为栈存储速度快。
2.一个对象,他的实际内容是存储在堆里面的,而他的引用是存储在栈里面。
例子:
String s=new String("123");
这个s就在栈里面,而他的"123"这个对象在堆里面。 s 指向"123";
3.就对象本身而言,他的所有属性的值如果不是单例或者静态的,就是存储在堆里面的。一个类的所有对象的属性值都在堆里面并且占用不同的内存空间,而一个类的方法只在方法区里占一个地方,所有的对象指向同一个方法区。

对于此问题,建议下载think in java (java编程思想) 电子版看下,内面讲的非常细。

参考我给别人同样问题的回答吧

http://zhidao.baidu.com/question/116536857.html