常量池与堆中放入String数据,比较大小
发布日期:2021-10-12 20:08:25
浏览次数:4
分类:技术文章
本文共 1147 字,大约阅读时间需要 3 分钟。
面试题1
1.1代码
package Test;/* * zt * 2020/7/30 * 9:37 * 面试题 false true */public class Demo1 { public static void main(String[] args) { //常量池 String s1 = "abc"; //常量池 String s2 = "xyz"; //程序运行,不会放到常量池,放入堆 String s3 = s1+s2; //常量池 String s4 = "abc" + "xyz"; //常量池 String s5 = "abcxyz"; System.out.println(s3==s4); System.out.println(s4==s5); }}
1.2运行结果
false true
1.3.图解
1.3.1运行文件
1.3.2存储位置图解
2.面试题2
2.1代码
package Test;/* * zt * 2020/7/30 * 9:37 * 面试题 false true */public class Demo1 { public static void main(String[] args) { //常量池 String s1 = "abc"; //常量池 String s2 = "xyz"; //程序运行,不会放到常量池,放入堆 String s3 = s1+s2; //常量池// String s4 = "abc" + "xyz";// intern();重用,如果常量池没有将对象复制一份(或者引用)// 如果常量池存在,直接返回// JDK1.7之前是复制一份放入常量池,之后(包括JDK1.7)把对象引用赋值到常量池 String s4 = s3.intern(); //常量池 String s5 = "abcxyz"; System.out.println(s3==s4); System.out.println(s4==s5); }}
2.2运行结果
truetrue
2.2.1图解
3.特殊
java 还有一些…在常量池本来就有,所以不需要intern()再复制地址过来。
所以运行结果: false转载地址:https://blog.csdn.net/qq_39773004/article/details/107682369 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月09日 06时48分33秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
细讲前端设置cookie, 储存用户登录信息
2019-04-27
Web前端安全策略之CSRF的攻击与防御
2019-04-27
斯坦福CS236-深度生成模型2019-全套课程资料分享
2019-04-27
知识图谱(KG)存储、可视化、公开数据集、图计算、图编程工具分享
2019-04-27
伯克利-《神经技术导论2020(带字幕)》
2019-04-27
机器学习经典书籍-《贝叶斯推理与机器学习》
2019-04-27
欧洲计算机视觉国际会议ECCR20最新论文整理分享
2019-04-27
20年6月最新-《深度神经网络的高效处理技术综述》
2019-04-27
BiliBili 100+国际名校免费公开课整理分享
2019-04-27
清华大学计算机学科推荐学术会议和期刊列表
2019-04-27
【组队学习】【24期】Docker教程
2019-04-27
Datawhale组队学习周报(第010周)
2019-04-27
【直播】杨毅远:集成学习答疑直播之六 -- 幸福感预测案例实战
2019-04-27
如何使用Python的进度条?
2019-04-27
如何利用情感词典做中文文本的情感分析?
2019-04-27
【青少年编程】【Scratch】06 侦测模块
2019-04-27
【直播】李祖贤:集成学习答疑直播之八-- 集成知识点回顾与补充
2019-04-27
Datawhale组队学习周报(第013周)
2019-04-27
如何设置matplotlib中x,y坐标轴的位置?
2019-04-27
【第15周复盘】B站是个学习的网站
2019-04-27