当前位置: 首页 > news >正文

内蒙网天津seo排名公司

内蒙网,天津seo排名公司,网站后台系统功能,重庆seo网站排名作者主页:paper jie_博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于《JAVA数据结构》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力…

作者主页:paper jie_博客

本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。

本文录入于《JAVA数据结构》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造,将javaSE基础知识一网打尽,希望可以帮到读者们哦。

其他专栏:《算法详解》《C语言》《javaSE》等

内容分享:本期将会分享java数据结构中的String对象创建的深入探索

目录

创建对象内的“那些事”

字符串常量池

对String对象创建的具体分析

直接使用字符串常量进行赋值

通过new创建String对象

intern方法


创建对象内的“那些事”

话不多说,直接上代码:

public static void main(String[] args) {String s1 = "hello";String s2 = "hello";String s3 = new String("hello");String s4 = new String("hello");System.out.println(s1 == s2); // trueSystem.out.println(s1 == s3); // falseSystem.out.println(s3 == s4); // false
}

上面这个代码我们发现创建的String对象的方式类似,但是结果s1和s2是同一个对象,但s3和s4却却不是?

这就是要深究到java中的常量池了。在java中,“hello”,“1234”等常量经常被频繁使用,java为了让程序运行的速度更加快,跟节省内存,就为8种基本类型和String类提供了常量池。

java中引入了:

Class文件常量池:每个Java源文件编译后生成的.Class文件中会保存当前类中的字面常量以及符号信息

运行时常量池:在.Class文件被加载时,Class文件中的常量池被加载到内存中称为运行时常量池,运行时常量池每个类都会有一份

"池" 是编程中的一种常见的, 重要的提升效率的方式, 我们会在遇到各种 "内存池", "线程池", "数据库连接池
 

字符串常量池

字符串常量池在JVM中是一个StringTable类,实际是一固定大小的HashTable,它是一种高效查找的数据结构,在不同的JDK版本下字符串常量池的位置以及默认大小是不同的:

对String对象创建的具体分析

直接使用字符串常量进行赋值

public static void main(String[] args) {String str1 ="hello";String str2 ="hello";System.out.println(str1 == str2);}

这里直接通过画图分析:

通过new创建String对象

public static void main(String[] args) {String str1 = new String("hello");String str2 = "hello";System.out.println(str1 == str2);}

这里我们得到一个结论:只要是new出来的对象,就是唯一的

这里我们可以知道:使用常量串创建String类型对象的效率更高,更节省空间。用户也可以将创建的字符串对象通过intern方式添加进字符串常量池中

intern方法

intern方法的作用就是将创建的String对象添加到常量池中、

public static void main(String[] args) {char[] ch = new char[]{'a', 'b', 'c'};String s1 = new String(ch); // s1对象并不在常量池中//s1.intern(); 调用之后,会将s1对象的引用放入到常量池中String s2 = "abc"; // "abc" 在常量池中存在了,s2创建时直接用常量池中"abc"的引用System.out.println(s1 == s2);
}

放开前返回的是false,放开后返回true:

使用方法前,常量池中没有“abc”,导致str2自己重新创建了一份abc“”

使用方法后,常量池中有了“abc”,str2直接拿过来用就可以了

http://www.pjxw.cn/news/26886.html

相关文章:

  • 网站开发和设计seo代码优化
  • 网站建设是设计师吗网络营销推广有效方式
  • 坡头网站开发公司今日热点新闻一览
  • 千万不能 网站学seo建网站
  • 广州做网站专业公司杭州seo运营
  • 南宁网站优化个人如何在百度上做广告
  • 企业宣传片制作app深圳网站设计十年乐云seo
  • 网站建设业务市场营销论文合肥网络seo推广服务
  • 网站建设需要什么技术seo诊断专家
  • 怎么做空包网站拼多多代运营收费标准
  • 用ssh做网站网络推广营销方法
  • 怎么制作网站链接手机咨询网络服务商
  • 权威的大良网站建设赤峰seo
  • 建材类网站模板怎么开发一款app软件
  • 什么网站做代练比价靠谱营销网站建设方案
  • 爬闪数媒 网站建设生成关键词的软件
  • 国内做网站上市公司关键词优化排名软件
  • 手机网站设计报告模板腾讯会议多少钱一个月
  • 公司注册费用多少seo站长网怎么下载
  • 南京代做网站福州短视频seo公司
  • dedecms小说采集seo优化排名价格
  • 双语网站系统aso搜索优化
  • 织梦做动漫网站模板建站价格
  • 网站建设题目搜索引擎最新排名
  • 公司做网站的费用记什么科目北京关键词优化平台
  • 如何在百度上做公司网站嘉定区整站seo十大排名
  • 商城网站建设哪家好google站长工具
  • 如何做网站 写代码小程序开发工具
  • 平面设计网页设计专员西安网站seo厂家
  • 做网站需要注册商标第几类制作网站软件