栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

字符串常量池及创建对象问题分析

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

字符串常量池及创建对象问题分析

字符串常量池及创建对象问题分析

字符串常量池是为字符串开辟的一个存储空间,至于开辟的目的,基本上都是为了优化系统,减少内存开销这些
位置:jdk6之前放于方法区,jdk7之后放于堆

String str="abc"

创建一个放在常量池中

String str="a"
String str1="a"

分析一下
第一个创建时 "a"被加入常量池,当第二个创建时,不再创建对象,直接引用
综上,只创建一个对象

String str=new String("a");

用new 创建时,jvm首先在常量池中寻找,无则创建,有就不用创建,然后在堆中创建一个
创建两个

String str=new String("a");
String str1="a";
String str2=new String("a");

创建三个对象,第一行创建两个,
第二行有了就不再创建,第三行就在堆中创建一个。

String str="a"+"b"

在编译时,会被优化,自动拼接为"ab"
在常量池中创建ab

Stirng str="a"+new String("b");

三个,常量池中"a",“b”,堆中b

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/337849.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号