社区
Java SE
帖子详情
菜鸟求解 还请给为大牛多多指教哈
小小阿狸
2012-03-31 07:51:20
String s1 = "123"; String s2 = "123";这两个在内存中有几份"123"?
String s = "123"; 和String s = new String("123")有什么区别 ?
我就是想知道它们在内存中的是怎么存储的 请稍微详细点 谢谢那
...全文
205
18
打赏
收藏
菜鸟求解 还请给为大牛多多指教哈
String s1 = "123"; String s2 = "123";这两个在内存中有几份"123"? String s = "123"; 和String s = new String("123")有什么区别 ? 我就是想知道它们在内存中的是怎么存储的 请稍微详细点 谢谢那
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
火龙果被占用了
2012-04-03
打赏
举报
回复
这种东西在 CSDN 的 Java 版怎么没完没了的?每天都有人问!!!
找工作中
2012-04-03
打赏
举报
回复
虽然N年前考证件时有学这方面内容,现在对这些东西也很模糊了,因为在实际工作中根本用不上,除了面试时...作为爱好,支持一下,其实对于大牛们你们看到相同的问题觉得奇怪吗?知道答案的话,直接引用同类的贴就是了,对提问者可是受益匪浅...只是小小建议,莫怪...
loveDaro
2012-04-03
打赏
举报
回复
关键是大牛对于我们这些菜鸟的问题是不屑一顾的。。。
小小阿狸
2012-04-03
打赏
举报
回复
这位火龙果看起来是个大牛啊 哟哟哟
小小阿狸
2012-04-02
打赏
举报
回复
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分别指向这两个对象
找了点资料 我是这样理解的 不知道对不对
loveDaro
2012-04-02
打赏
举报
回复
对于String s = new String("123");
"123"在堆内存中就会产生一份。。这份是没有用的,会被回收。
new 的时候会在产生一份,这个s就是指向这个内存。
小小阿狸
2012-04-01
打赏
举报
回复
到底是只在常量池里有一份 还是在常量池里面一份 然后堆内存里面还有一份?
uoddsa
2012-04-01
打赏
举报
回复
两个吧 。
字符串池中有一个 。堆内存中有一个
InfoStation信息站
2012-04-01
打赏
举报
回复
恩,正在自己JAVA呢,有学到了点知识点
宏Lee
2012-04-01
打赏
举报
回复
[Quote=引用 10 楼 的回复:]
引用 1 楼 的回复:
String s1 = "123"; String s2 = "123",在你声明s1的时候就在栈内存分配了了一块内存,在你声明s2的时候,就会跑到内存池你找有没有123,找到了,他们就同时指向123这个内存
而String s = new String("123"),new的时候就在堆内存分配一块内存,s指向堆内存那块内存,没有new关键字,分配的内存就在栈里……
[/Quote]
String s1 = "123";
String s2 = "123";
System.out.println(s1 == s2);
这个就是证据啊啊。如果不知道内存咋个分配的,那就去找大学C语言老师或者把你那床底下那C语言教程拿出来看看,肯定会有的
蘑菇頭
2012-04-01
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
String s1 = "123"; String s2 = "123",在你声明s1的时候就在栈内存分配了了一块内存,在你声明s2的时候,就会跑到内存池你找有没有123,找到了,他们就同时指向123这个内存
而String s = new String("123"),new的时候就在堆内存分配一块内存,s指向堆内存那块内存,没有new关键字,分配的内存就在栈里
[/Quote]
new 的时候 会给对内存分配一块内存, s指向对内存那块内存, 这个我只懂
但是 没new的时候 ,分配的就是 内存中的栈 ??? 这个 不清楚, 不知道 可否给点证据资料什么的???
宏Lee
2012-04-01
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
String s1 = "123"; String s2 = "123",在你声明s1的时候就在栈内存分配了了一块内存,在你声明s2的时候,就会跑到内存池你找有没有123,找到了,他们就同时指向123这个内存
而String s = new String("123"),new的时候就在堆内存分配一块内存,s指向堆内存那块内存,没有new关键字,分配的内存就在栈里
[/Quote]
不是说的很清楚了的嘛?还是你没看哦
崔叫兽
2012-03-31
打赏
举报
回复
是就一个
小小阿狸
2012-03-31
打赏
举报
回复
那在内存中 就是只有一份“123”诺,是么?
90_後
2012-03-31
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
String s1 = "123"; String s2 = "123",在你声明s1的时候就在栈内存分配了了一块内存,在你声明s2的时候,就会跑到内存池你找有没有123,找到了,他们就同时指向123这个内存
而String s = new String("123"),new的时候就在堆内存分配一块内存,s指向堆内存那块内存,没有new关键字,分配的内存就在栈里
[/Quote]
同意一楼说的。。。
宏Lee
2012-03-31
打赏
举报
回复
String s1 = "123"; String s2 = "123",在你声明s1的时候就在栈内存分配了了一块内存,在你声明s2的时候,就会跑到内存池你找有没有123,找到了,他们就同时指向123这个内存
而String s = new String("123"),new的时候就在堆内存分配一块内存,s指向堆内存那块内存,没有new关键字,分配的内存就在栈里
【中国PHP教育
大牛
高洛峰】亲授php教程
中国php教程第一人高洛峰亲授php教程,几乎作为了所有php新手入行的装备,影响了几十万的web开发者经典教程。
Deeplearning常用的模型以及方法
声明: 1)该Deep Learning的学习系列是整理自网上很
大牛
和机器学习专家所无私奉献的资料的。 2)根据看的论文以及博客总结了...4)如果有什么错误的地方希望大家一起讨论,自己还是个
菜鸟
,
请
多多指教
。 目录: 一:
Codeforces Round #452 (Div. 2) 12-17 A-C 题解
希望能有更多
大牛
指教指教,#452(DIV 2)还是可以做A 到C 。 A. Splitting in Teams 题解:@1. 给你N个数据, 数据1或2。 3人成一个队。 @2. 1可以随便组队, 但2就不能拆开。 分析: @1, 判断0的
2024 Gopher Meetup 武汉站 GoCN&;微派
双非硕,沟通了几十个没几个面试,感觉是项目太差了,想突击一下项目,自己买有点小贵,有佬一起拼嘛[牛泪。最近总结了包括阿里,腾讯,字节,商汤,华为等十几家互联网。#2023年终奖爆料# 实习工资2000,期间有给...
CTF writeup 0_IDF实验室
牛刀小试1.被改错的密码从前有一个熊孩子入侵...肿么办
求解
!在线等,挺急的。。 PS:答案格式wctf{管理员原密码}刚开始猜是Base46或者MD5,二话不说解码走起,结果都是乱码…(囧rz).仔细看了一下,描述中有”手一抖在数
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章