请问 J2SE 堆栈 问题 高手帮忙解释一下:在JAVA里 String s ="abc"; s 是放在 “堆” 还是 “栈”里;?"abc" 是放在 “堆” 还是 “栈”里;?还有是 String str = new String("hh");呢?? str 是放在 “堆” 还是 “栈”里;?"hh" 是放在 “堆” 还是 “栈”里;?小弟不甚感激。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 new 出来的东西都是在 堆 里的. 固定的东西 和 方法之间的 调用等需要的内存是在 栈 里的. 举个例子: List<Object> lst = new ArrayList<Object>(); for(long i=0;i<1000000000;i++){ lst.add(new Object()); } 出现异常是:Exception in thread "main" java.lang.OutOfMemoryError: Java heap space public static void main(String[] args) throws Exception { main(null); } 出现的异常是:Exception in thread "main" java.lang.StackOverflowError 堆就是new 关键字声称的对象,其他的变量都是存放在栈中的 heap,堆是存放动态生成的东东,new 出来的对象。stack,栈是存放局部变量!date segment ,存放静态变量,字符串常量。在JAVA里 String s ="abc"; 如果是在方法里定义的,s,存放在stack;"abc"存放在date segment还有是 String str = new String("hh");呢?? "hh"存放在date segment,new String("hh")存放在heap,str存放在stack;如有不正确请指出 String s ="abc"; s 是放在 栈里的"abc" 是放在 string池里的还有是 String str = new String("hh");呢?? str 是放在 栈里的"hh" 也是放在String池里的只是还有一个String 的对象放在堆里,其内容是"hh"我分析是这样的,请高手指点 JAVA中的多态表现形式 关于参数列表的问题 netbeans7.0的初次使用出现提示Have no file for D:\jdk1.6\jre\lib\modules\jdk.boot.jar jsp ajax post方式提交乱码问题以及提交数据量问题 java百鸡百钱问题 请问有没有JFreeChart的高手,用j2se或者swing来implement程序的啊? 如何动态创建所需要的类??和相应的属性? log4j找不到类,解决就给分! Applet中将所画的一系列图形放大和缩小的问题 如何读写同一jar包里面的文件? 如何调用父类的方法 java问题,请高手解决
new 出来的东西都是在 堆 里的. 固定的东西 和 方法之间的 调用等需要的内存是在 栈 里的.
举个例子:
List<Object> lst = new ArrayList<Object>();
for(long i=0;i<1000000000;i++){
lst.add(new Object());
}
出现异常是:Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
public static void main(String[] args) throws Exception {
main(null);
}
出现的异常是:Exception in thread "main" java.lang.StackOverflowError
stack,栈是存放局部变量!
date segment ,存放静态变量,字符串常量。
在JAVA里 String s ="abc";
如果是在方法里定义的,s,存放在stack;"abc"存放在date segment
还有是 String str = new String("hh");呢??
"hh"存放在date segment,new String("hh")存放在heap,str存放在stack;如有不正确请指出
str 是放在 栈里的"hh" 也是放在String池里的
只是还有一个String 的对象放在堆里,其内容是"hh"我分析是这样的,请高手指点