首页 > 其他分享 >字符串常量池

字符串常量池

时间:2024-07-14 12:19:26浏览次数:15  
标签:常量 对象 创建 池中 hh 字符串

new String()创建了几个对象

// 使用new,每次都会创建一个新的对象
String s = new String("hh");
  • 先在位于堆中的字符串常量池中查找是否已经存在hh字符串对象
    • 如果有,直接在堆中创建一个hh字符串对象,然后把这个堆中新创建的对象地址返回给栈中的变量s
    • 如果没有,现在字符串常量池中创建一个对象,然后再在堆中也创建个对象并返回堆中的给s

字符串常量池的作用

// 采用双引号的方式来创建字符串对象,会重复利用字符串常量池中已经存在的对象
String s2 = "hh";
  • JVM会在字符串常量池中查找有没有hh字符串对象
    • 如果有,不创建任何对象,直接返回字符串常量值中的对象地址
    • 如果没有,在字符串常量池中创建后再将其返回

字符串常量池位置变化

标签:常量,对象,创建,池中,hh,字符串
From: https://www.cnblogs.com/sprinining/p/18301343

相关文章

  • 字符串源码
    String类的声明//final不可被继承publicfinalclassStringimplementsjava.io.Serializable,Comparable<String>,CharSequence{}比较字符串内容publicbooleanequals(ObjectanObject){//检查是否是同一个对象的引用,如果是,直接返回trueif(this......
  • 【模板】字符串
    字符串哈希素数:13110612e6+931e7+192e7+933e7+231e9+97LL(1e16)+61Zfunctionn=strlen(s+1),m=strlen(t+1);z[1]=n;For(i,2,n,l=0,r=0){ if(i<=r)z[i]=min(z[i-l+1],r-i+1); while(s[z[i]+1]==s[i+z[i]])++z[i]; if(i+z[i]-1>......
  • 24暑假算法刷题 | Day9 | LeetCode 151. 反转字符串中的单词,28. 找出字符串中第一个匹
    目录151.反转字符串中的单词题目描述题解28.找出字符串中第一个匹配项的下标题目描述题解459.重复的子字符串题目描述题解卡码网55.右旋字符串题目描述题解151.反转字符串中的单词点此跳转题目链接题目描述给你一个字符串s,请你反转字符串中单词的顺......
  • [Redis]字符串详解
    Redis中的字符串是可以修改的字符串,在内存中它是以字节数组的形式存在的。我们知道C语言里面的字符串标准形式是以NULL(即0x\0)作为结束符,但是在Redis里面,字符串不是这么表示的。因为要获取以NULL结尾的字符串的长度使用的是strlen标准库函数,这个函数的算法复杂度是0(n......
  • Js 前置,后置补零的原生方法与补字符串 padStart及padEnd
    在工作中,遇到了需要将不满八位的一个字符串进行后补0的操作,所以就在网上学习了关于js原生补充字符串的方法,然后用这篇博客记录下来。目录前置补充字符串 String.prototype.padStart()后置补充字符串String.prototype.padEnd()前置补充字符串 String.prototype.padStart......
  • Linux 中 grep命令仅仅输出匹配的字符串
     001、[root@PC1test]#lsa.txt[root@PC1test]#cata.txt##测试数据aa33aa77bbaaaa22aakkccbbddaauu883388rrqq[root@PC1test]#grep-oP"aa"a.txt##输出仅仅匹配的内容,但是换行了aaaaaaaaaaaa[root@PC1test]......
  • C++数组 字符串
    是什么:相同类型元素的集合写法:intexample[3]//数组在声明大小时必须为常数数组名example是个指针类型如int*ptr=example;数组索引的工作原理:example[3]//从首地址位置偏移数组类型大小(int是4字节)乘索引值(4*3)个字节//从当前字节位置往后读四个字节;可能出现的错误:ex......
  • 【C语言】字符串与相关操作函数
    字符串思路分析在注释文章目录字符串一、字符串的定义1.使用sizeof()计算他们的长度二、sizeof和strlen的区别1.sizeof操作符2.strlen函数三、动态开辟字符串1.malloc函数2.realloc函数3.free函数4.memset函数四、几种字符串常用的API1.strncpy函数2.asse......
  • 信息学奥赛初赛天天练-45-CSP-J2020阅读程序1-字符数组默认值、字符串长度、字符数组
    PDF文档公众号回复关键字:202407122020CSP-J阅读程序11阅读程序(程序输入不超过数组或字符串定义的范围;判断题正确填√,错误填×。除特殊说明外,判断题1.5分,选择题3分,共计40分)01#include<cstdlib>02#include<iostream>03usingnamespacestd;0405ch......
  • 字符串练习-手机号屏蔽
    手机号屏蔽Stringsubstring(intbeginindex;intendindex)Stringsubstring(intbeginindex)需要一个返回值来接收截取结果Strings="";包头不包尾,包左不包右。从beginindex开始截取所有结果应用:该方法的作用是截取字符串。屏蔽数字时可用。应用练习pub......