String字符串性能优化的几种方案(19)
执行第二部分:
1.new String(\"ab\")+new String(\"cd\") , 先在常量池里生成“ab\"和”cd\" , 再在堆中生成“abcd\";
2.执行s3.intern()时 , 会把“abcd”的对象引用放到字符串常量池里 , 发现常量池里还没有该引用 , 故可成功放入 。 当String s4=\"abcd\" , 即把字符串常量池中”abcd“的引用地址赋值给s4 , 相当于s4指向了堆中”abcd\"的地址 , 故s3==s4为true 。
1.8版本
false true
参考网上一些博客 , 在1.8版本当中 , 使用intern()时 , 执行原理如下:
若字符串常量池中 , 包含了与当前对象相当的字符串 , 将返回常量池里的字符串;若不存在 , 则将该字符串存放进常量池里 , 并返回字符串的引用 。
综上所述 , 可见三种版本当中 , 使用intern时 , 若字符串常量池里不存在相应字符串时 , 存在以下区别:
例如:
推荐阅读
- 永劫无间|《永劫无间》新英雄\岳山\在测试服推出,游戏性能进一步提升
- 游戏本|畅玩喋血复仇不花大价钱,双十一天选迎好价,6K入手高性能游戏本
- iqoo|KPL选手同款手游利器!双11别错过iQOO性能旗舰
- 森林之子|双十一性价比风暴来袭,这些性能强劲的笔记本不容错过
- fps|《古墓丽影:暗影》移除D加密,性能提升显著
- 王者荣耀|游戏性能数据简报〡iPhone 13
- |原神云游戏公测,再也不用担心手机性能,还能白嫖一个月?
- 仙剑奇侠传七|英伟达公布最新支持DLSS游戏:《仙剑7》性能表现强势
- ag战队|手机性能是否过剩,本身就是个伪命题,毕竟最终解释权归用户所有
- |我现在是明白了,A15性能再强没啥用