版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
字符串常量池2学习目标知识目标熟悉字符串常量池的工作原理01能力目标能够合理使用字符串常量池023字符串常量池什么是字符串常量池?JVM为了减少字符串对象的重复创建,维护了一个特殊的用于操作字符串常量的内存区域,这段内存被称为字符串常量池或者字符串字面量池。工作原理当代码中出现字面量形式创建字符串对象时,JVM首先会对这个字面量进行检查,如果字符串常量池中存在相同内容的字符串对象的引用,则将这个引用返回,否则新的字符串对象被创建,然后将这个引用放入字符串常量池,并返回该引用。4字面量创建字符串如Stringstr1="abc";JVM检测这个字面量,这里我们认为没有内容为abc的对象存在。JVM通过字符串常量池查找不到内容为abc的字符串对象存在,那么会创建这个字符串对象,然后将刚创建的对象的引用放入到字符串常量池中,并且将引用返回给变量str1。如果接下来有这样一段代码:
Stringstr2="abc";
同样JVM还是要检测这个字面量,JVM通过查找字符串常量池,发现内容为"abc"字符串对象存在,于是将已经存在的字符串对象的引用返回给变量str2。注意这里不会重新创建新的字符串对象。验证str1和str2是否指向同一对象,我们可以通过这段代码:System.out.println(str1==str2);//结果为true。5使用new创建字符串
代码如下:Stringstr1=newString(“bcd”);
当我们使用了new来构造字符串对象的时候,不管字符串常量池中有没有相同内容的对象的引用,新的字符串对象都会创建。因此我们使用下面代码测试一下:Stringstr3=newString("bcd");
System.out.println(str1==str3);
结果如我们所想,为false,表明这两个变量指向的为不同的对象。6
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年腾讯量子实验室面试题库及答案
- 2025年自贡护理招聘笔试及答案
- 新部编版二年级语文上册一单元提升练习卷及答案
- 宁德市历史中考试卷答案(3篇)
- 跨文化交流技巧提升教程考试及答案
- 心理现象及实质解析2026
- 全球气候变化应对措施与可持续发展考试及答案
- 2025 七年级道德与法治上册友谊对学习压力的缓解机制分析课件
- 2025 七年级道德与法治上册多科目作业的时间分配优化策略课件
- 专升本舞蹈基础理论测试试题及答案
- 2025山东济南文旅发展集团有限公司社会招聘3人笔试参考题库附带答案详解
- 2026贵州盘州市更正事业单位招聘(全省联考)部分职位名称备考题库含答案详解(黄金题型)
- 2026湖南衡阳日报社招聘事业单位人员16人备考题库(含答案详解)
- 2025年中考襄阳数学真题及答案
- 教案人教版三年级下册语文语文园地五教学(2025-2026学年)
- 室内工装设计方案汇报
- 老年人食品药品误食防护指南
- 蓝牙低功耗(BLE)信标创新创业项目商业计划书
- 血常规散点图解析
- 胸痛患者急救流程
- 中频治疗部位示意图
评论
0/150
提交评论