首页 > 其他分享 >7.4 两种实例化方式比较

7.4 两种实例化方式比较

时间:2023-06-06 16:12:52浏览次数:38  
标签:两种 常量 池中 intern 实例 7.4 字符串 方法 String

  • 本节课,视频讲的有点抽象。具体内容结合看书来理解看看???????

demo

public class HelloWorld {
    public static void main(String[] args){

        String strA = "mldn";
        String strB = new String("mldn").intern();
        System.out.println(strA == strB);// true
    }
}

在Java中,String类的intern()方法是一个比较特殊的方法,它可以将当前字符串对象(也就是 this)放入到常量池中,并返回常量池中该字符串的引用。
如果常量池中已经存在该字符串,则直接返回该字符串的引用。

具体来说,String类中的intern()方法会首先检查常量池中是否存在与调用者equals相等的字符串,如果存在,则直接返回常量池中这个字符串的引用;
如果不存在,则将该字符串对象添加到常量池中,并返回常量池中这个字符串的引用。

在实际开发中,使用intern()方法可以提高字符串的存储效率和比较效率。因为在Java中,由于字符串常量池的存在,相同的字符串只需要在内存中存储一份,可以节省内存空间;
而使用intern()方法将字符串存储到常量池中,可以减少字符串的创建,提高字符串比较效率。

需要注意的是,在JDK6及以下版本中,字符串常量池位于永久代,较小且易于溢出,因此在大量使用字符串的场景下,可能会导致OOM(Out Of Memory)异常。
而在JDK7及以上版本中,字符串常量池被移到了堆中,因此不再容易出现OOM问题,但是也需要注意不要滥用intern()方法,否则可能会产生其他问题。

标签:两种,常量,池中,intern,实例,7.4,字符串,方法,String
From: https://www.cnblogs.com/pansidong/p/17460846.html

相关文章

  • 7.1 String类对象实例化
    publicclassHelloWorld{publicstaticvoidmain(String[]args){//Stringstr="www.mldn.cn";//直接赋值-String类对象实例化Stringstr=newString("www.baidu.com");//构造实例化-String类对象实例化System.out.println(str);......
  • BootStrap_实现导入Excel(BootStrap-InputFile)【实例】
    BootStrap_实现导入Excel(BootStrap-InputFile)【实例】weixin_40877388于2020-03-3114:52:47发布分类专栏:BootStrap版权订阅专栏一、前言在批量加入学生信息的时候,我们通常采用Excel导入的方式,方便,快捷。本篇使用SpringBoot+BootStrap-InputFile+poi的结合方式,写......
  • mysql中用limit 进行分页有两种方式
    springboot分页插件的使用SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset  SELECT*FROMtableLIMIT[offset,]rows|rowsOFFSEToffsetLIMIT子句可以被用于强制SELECT语句返回指定的记录数。LIMIT接受一个或两个数字参数。参数必须是一个整......
  • 数据分享|PYTHON用决策树分类预测糖尿病和可视化实例|附代码数据
    全文下载链接:http://tecdat.cn/?p=23848最近我们被客户要求撰写关于决策树的研究报告,包括一些图形和统计输出。在本文中,决策树是对例子进行分类的一种简单表示。它是一种有监督的机器学习技术,数据根据某个参数被连续分割。决策树分析可以帮助解决分类和回归问题 ( 点击文末“阅......
  • 04 Xpath_[实例]爬取maoyan
    目录Xpathlxml库的安装和使用提取的内容代码生成的csv下载的图片参考文档Xpathlxml库的安装和使用提取的内容随意选取的一段节点包含的影片信息,如下所示:<dd> <iclass="board-indexboard-index-1">1</i> <ahref="/films/1200486"title="我不是药神"class="image-link&quo......
  • android接入云平台的两种方法
    通过jar包接入:将jar包复制下来将安卓切换到project下app——lib下将jar包粘贴进来,选中jar包右击addaslibrary通过SDK接入:File——New——importModule将SDK导入进来添加依赖库: 记得添加网络权限:<uses-permissionandroid:name="android.permission.INTERNET"/> ......
  • QA|定义的basepage在被a、b继承后,先后对a、b实例化调用后,存在b实例找不到driver问题|U
      iops登录后,需要对登录后的iops主页操作:点击对应按钮,如下 此时我需要调试一下iops_home_page.py中的代码,但需要先登录才调试这块代码,代码如下:运行:结果起来两个浏览器,没有点击进去 或者有时会报错:找不到ih的属性:self.driver()原因:因上面iops_homepage没有继承上lo......
  • h5上传图片的两种方法
    上传方法一、ajax用formData对象上传介绍一下formData:FormData对象把数据编译成键值对的形式,用XMLHttpRequest来发送数据。注意:1.要将编码方式(enctype属性)设置成multipart/form-data2.不设置内容类型(contentType:false)3.不处理数据(processData:false)html代码:......
  • 字符串输出的两种调用方法
    classReprStr:def__repr__(self):#命令行交互环境,输入对象名回车,调用此方法。字符串真正的样子return"返回的是__repr__方法"def__str__(self):#用print输出变量时,调用此方法。经过Python优化,更便于人类阅读的样式return"返......
  • pymysql,pymongo链接实例
    pymysqlconn=pymysql.connect(host=dbhost,#数据库地址port=3306,#数据库端口号user='testpymysql',#数据库账号password='afk!cTRnDnVq*bvZ'#数据库密码)cursor=conn.cursor(cursor=pymysql.cursors.DictCursor)#字典形式sql=......