字符串常量池

特点

1 只要是双引号引起来的字符串都存储在常量池中

2 每次存储字符串的时候,先检查常量池是否有该字符串,如果没有则存储,有则直接使用常量池中的字符串。

示例一:

字符串String由两部分组成,value(存储常量池中的字符的地址)和hash(保存字符的Ascall码值)。

比如hello在常量池中的地址为0x78,那么指向hello的String对象的value就是0x78.

按照上图和代码进行分析。

s1和s2并没有创建新的String对象,s1,和s2的地址相同,都指向的是常量池中的String对象。

s3,s4,s5均创建了新的对象,其创建的String对象的value指向常量池字符串。因此s3,s4,s5保存的是各自对象的地址。

如果太复杂,可以简单理解为:

s1----->常量池中的字符

s3----->创建的String对象------>常量池字符

当hello第一次出现的时候,系统先会在常量池中是否存有hello,如果没有那么就在常量池中存储hello,当第二次使用hello的时候,这时在常量池中可以找到hello,hello就不需要在存储了。即常量池不会重复存储相同字符。

示例二

intern

再来看这两张图,我们要注意,s1中会创建新的对象,这个对象指向的是一个字符数组,并不会存储在常量池中,只有s2的“abc”会存储在常量池里。

但是当我们用intern的方法后:

此时结果为true。

添加了intern是把s1创建的字符串对象加入到了常量池中,此时s2可以在常量池中找到abc这个字符串对象,因此相同

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/774574.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity-C#进阶——3.27更新中

文章目录 数据结构类ArrayListStackQueueHashtable 泛型泛型类、泛型方法、泛型接口ListDictionaryLinkedList泛型栈,泛型队列 委托和事件委托事件匿名函数Lambad 表达式**闭包** List 排序逆变协变多线程进程线程多线程方法:线程之间共享数据&#xff1…

Java智慧工地源码 智慧工地的价值体现 开发一套智慧工地系统需要多少钱

智慧工地是智慧地球理念在工程领域的行业具现,是一种崭新的工程全生命周期管理理念。它运用信息化手段,通过三维设计平台对工程项目进行精确设计和施工模拟,围绕施工过程管理,建立互联协同、智能生产、科学管理的施工项目信息化生…

一键掌控:Shell脚本自动化安装与管理Conda环境的艺术

前面写了个博客《conda:解决多项目开发环境配置的神器!》简单介绍了 Conda 的安装和基本命令,在做开发时经常会使用 Conda 建立多个应用环境,Conda 的命令虽不复杂,但还是有时会弄混,所以就考虑写个脚本&am…

day5-QT

widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include<QFontDialog> //字体对话框类 #include<QFont> //字体类 #include<QMessageBox> //消息对话框类 #include<QColorDialog> //颜色对话框类 #include<QColor> //颜…

2024年腾讯云4核8G12M轻量服务器并发数测试,支持多少人?

腾讯云4核8G服务器价格&#xff1a;轻量4核8G12M优惠价格646元15个月、CVM S5服务器4核8G配置1437元买1年送3个月。腾讯云4核8G服务器支持多少人同时在线&#xff1f;支持30个并发数&#xff0c;可容纳日均1万IP人数访问。腾讯云百科txybk.com整理4核8G服务器支持多少人同时在线…

【JS笔记】JavaScript语法 《基础+重点》 知识内容,快速上手(五)

ES5和ES6 我们所说的 ES5 和 ES6 &#xff08;2015&#xff09;其实就是在 js 语法的发展过程中的一个版本而已比如我们使用的微信 最早的版本是没有支付功能的随着时间的流逝&#xff0c;后来出现了一个版本&#xff0c;这个版本里面有支付功能了ECMAScript 就是 js 的语法 以…

系统架构设计师考试论文2019:论软件设计方法及其应用

软件设计(SoftwareDesign&#xff0c;SD)根据软件需求规格说明书设计软件系统的整体结构、划分功能模块、确定每个模块的实现算法以及程序流程等&#xff0c;形成软件的具体设计方案。 软件设计把许多事物和问题按不同的层次和角度进行抽象&#xff0c;将问题或事物进行模块化分…

Charles+posten 抓APP包

Charles 是一个比较好用的抓包工具&#xff0c;在实际的工作中&#xff0c;发现一旦模拟器配置了 charles 所在的机器代理&#xff0c;有些app就无法访问网络&#xff0c;这个问题困扰了好几天&#xff0c;最后在书中找到 charles 配合 postern 抓包。 Charles 地址&#xff1…

Springboot+vue的旅游信息推荐系统设计与实现+数据库+论文+数据库表结构文档+免费远程调试

项目介绍: Springbootvue的旅游信息推荐系统设计与实现。Javaee项目&#xff0c;springboot vue前后端分离项目 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;通过Spring SpringBoot Mybati…

访问者模式(数据与行为解耦)

目录 前言 UML plantuml 类图 实战代码 SimpleFileVisitor FileVisitor 接口 删除指定文件夹 模板 IVisitor IVisitable Client 前言 一个类由成员变量和方法组成&#xff0c;成员变量即是类的数据结构&#xff0c;方法则是类的行为。 如果一个类的数据结构稳定&am…

CF1799 D. Hot Start Up (easyhard version) [dp+不停的优化+线段树]

传送门:CF [前题提要]:D1思维难度不高;D2感觉十分变态,感觉就是为了出题而出题,但是竟然只有*2100,看来还是我太菜了… E a s y v e r s i o n : Easy\;version: Easyversion: 不难想到应该使用 d p dp dp来解决这道题.仔细模拟一下,就会得到一个朴素的定义:考虑定义 d p [ i…

国家开放大学电大《国际私法》形考任务答案

答案&#xff1a;更多答案&#xff0c;请关注【电大搜题】微信公众号 答案&#xff1a;更多答案&#xff0c;请关注【电大搜题】微信公众号 答案&#xff1a;更多答案&#xff0c;请关注【电大搜题】微信公众号 1969年《国际油污损害民事责任公约》实行的是&#xff08; &…

金融投贷通(金融投资+贷款通)项目准备

金融投贷通&#xff08;金融投资贷款通&#xff09;项目准备 专业术语投资专业术语本息专业术语还款专业术语项目介绍三个子系统技术架构核心流程发布借款标投资业务 项目实施测试流程测试步骤 专业术语 投资专业术语 案例&#xff1a;张三借给李四5W&#xff0c;约定期满1年后…

NPL实例

自然语言处理&#xff08;NLP&#xff09;是人工智能领域的一个重要技术分支&#xff0c;它旨在使计算机能够理解和处理人类语言。以下是一些常见的NLP技术的例子&#xff1a; 1. 机器翻译&#xff1a;NLP技术可以用于将一种语言翻译成另一种语言。例如&#xff0c;Google翻译…

【深度学习】基础知识

吴恩达DeepLearning Python # 1.numpy c c.ravel() 将多维数组拉平 # 2.time tic time.time() toc time.time() print(str(1000*(toc- tic))"ms")

畅捷通T+ Ufida.T.DI.UIP.RRA.RRATableController 远程命令执行漏洞

一、漏洞信息 漏洞名称&#xff1a;畅捷通T Ufida.T.DI.UIP.RRA.RRATableController 远程命令执行漏洞 漏洞类别&#xff1a;远程命令执行漏洞 风险等级&#xff1a;高危 二、漏洞描述 畅捷通TPlus适用于异地多组织、多机构对企业财务汇总的管理需求&#xff1b;全面支持企…

AI论文速读 |(Mamba×时空图预测!) STG-Mamba:通过选择性状态空间模型进行时空图学习

&#xff08;来了来了&#xff0c;虽迟但到&#xff0c;序列建模的新宠儿mamba终于杀入了时空预测&#xff01;&#xff09; 论文标题&#xff1a;STG-Mamba: Spatial-Temporal Graph Learning via Selective State Space Model 作者&#xff1a;Lincan Li, Hanchen Wang&…

C语言经典例题(10) --- 奇偶统计、密码验证、矩阵计算、最低分与最高分之差、序列中删除指定数字

文章目录 1.奇偶统计2.密码验证3.矩阵计算4.最低分与最高分之差5.序列中删除指定数字 1.奇偶统计 题目描述: 任意输入一个正整数N&#xff0c;统计1~N之间奇数的个数和偶数的个数&#xff0c;并输出。 输入描述: 一行&#xff0c;一个正整数N。&#xff08;1≤N≤100,000&am…

​网络安全概论——网络加密与密钥管理​

一、网络加密的方式及实现 1、常见的加密算法 常见的密钥加密算法类型大体可以分为三类:对称加密、非对称加密、单向加密。 对称加密算法采用单密钥加密&#xff0c;在通信过程中&#xff0c;数据发送方将原始数据分割成固定大小的块&#xff0c;经过密钥和加密算法逐个加密…

LLM应用:Prompt flow vs LangChain

背景 Prompt flow和LangChain都是LLM时代&#xff0c;为高效地构建LLM应用而生。 Prompt flow是Microsoft开源的&#xff0c;其诞生时&#xff0c;LangChain已经很有名气了。 所以作为后生的Prompt flow会为我们带来哪些新的东西呢&#xff1f; ​​​​​​​ Prompt flo…