菜鸟求解 还请给为大牛多多指教哈 String s1 = "123"; String s2 = "123";这两个在内存中有几份"123"?String s = "123"; 和String s = new String("123")有什么区别 ?我就是想知道它们在内存中的是怎么存储的 请稍微详细点 谢谢那 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 String s1 = "123"; String s2 = "123",在你声明s1的时候就在栈内存分配了了一块内存,在你声明s2的时候,就会跑到内存池你找有没有123,找到了,他们就同时指向123这个内存而String s = new String("123"),new的时候就在堆内存分配一块内存,s指向堆内存那块内存,没有new关键字,分配的内存就在栈里 恩,正在自己JAVA呢,有学到了点知识点 new 的时候 会给对内存分配一块内存, s指向对内存那块内存, 这个我只懂但是 没new的时候 ,分配的就是 内存中的栈 ??? 这个 不清楚, 不知道 可否给点证据资料什么的??? String s1 = "123"; String s2 = "123"; System.out.println(s1 == s2);这个就是证据啊啊。如果不知道内存咋个分配的,那就去找大学C语言老师或者把你那床底下那C语言教程拿出来看看,肯定会有的 String s1 = "123";String s2 = "123";System.out.println(s1 == s2);‘123”存储在字符创常量池中 就只有一份 , s1 s2在栈中 , s1 s2和都指向常量池中的"123”这块区域String s1 = new String("123");String s2 = new String("123");new 一下在堆中就创建一个对象 所以在堆中有两个对象 栈中的 s1 s2分别指向这两个对象找了点资料 我是这样理解的 不知道对不对 对于String s = new String("123");"123"在堆内存中就会产生一份。。这份是没有用的,会被回收。new 的时候会在产生一份,这个s就是指向这个内存。 这种东西在 CSDN 的 Java 版怎么没完没了的?每天都有人问!!! myeclipse的debug--F5,F6的作用和F8一样 怎样在NetBeans6.8中编译Java文件生成.class文件 菜鸟java问题 初次用JAVA连接数据库问题 怎么固定JInternalFrame不被拖动 怎样看一个可执行的程序的代码?(用java写的) 我绝望了,高手帮忙解答(关于sqlserver2000与jdbc连接)送100分! javase java 输入流问题 为什么编以后的java类,不能显示中文,显示的全是乱码?我用的是j2sdk,系统是win2K 怎么设计类与表:学生与小组 单例模式action(顶着有分)
而String s = new String("123"),new的时候就在堆内存分配一块内存,s指向堆内存那块内存,没有new关键字,分配的内存就在栈里
new 的时候 会给对内存分配一块内存, s指向对内存那块内存, 这个我只懂
但是 没new的时候 ,分配的就是 内存中的栈 ??? 这个 不清楚, 不知道 可否给点证据资料什么的???
String s2 = "123";
System.out.println(s1 == s2);
这个就是证据啊啊。如果不知道内存咋个分配的,那就去找大学C语言老师或者把你那床底下那C语言教程拿出来看看,肯定会有的
String s2 = "123";
System.out.println(s1 == s2);
‘123”存储在字符创常量池中 就只有一份 , s1 s2在栈中 , s1 s2和都指向常量池中的"123”这块区域String s1 = new String("123");
String s2 = new String("123");
new 一下在堆中就创建一个对象 所以在堆中有两个对象 栈中的 s1 s2分别指向这两个对象找了点资料 我是这样理解的 不知道对不对
"123"在堆内存中就会产生一份。。这份是没有用的,会被回收。
new 的时候会在产生一份,这个s就是指向这个内存。