String字符串性能优化的几种方案(12)
1.“+”直接拼接的是常量变量 , 如\"ab\"+\"cd\"+\"ef\"+\"123\" , 内部编译就把几个连接成一个常量字符串处理;
2. “+”拼接的含变量字符串 , 如案例2:\"ok\" + s + \"xyz\" + 5 , 内部编译其实是new 一个StringBuilder来进行来通过append进行拼接;
3.案例3循环过程 , 实质也是“+”拼接含变量字符串 , 因此 , 内部编译时 , 也会创建StringBuilder来进行拼接 。
对比三种情况 , 发现第三种情况每次做循环 , 都会新创建一个StringBuilder对象 , 这会增加系统的内存 , 反过来就会降低系统性能 。
因此 , 在做字符串拼接时 , 单线程环境下 , 可以显性使用StringBuilder来进行拼接 , 避免每循环一次就new一个StringBuilder对象;在多线程环境下 , 可以使用线程安全的StringBuffer , 但涉及到锁竞争 , StringBuffer性能会比StringBuilder差一点 。
这样 , 起到在字符串拼接时的优化效果 。
2.如何使用String.intern节省内存?
推荐阅读
- 永劫无间|《永劫无间》新英雄\岳山\在测试服推出,游戏性能进一步提升
- 游戏本|畅玩喋血复仇不花大价钱,双十一天选迎好价,6K入手高性能游戏本
- iqoo|KPL选手同款手游利器!双11别错过iQOO性能旗舰
- 森林之子|双十一性价比风暴来袭,这些性能强劲的笔记本不容错过
- fps|《古墓丽影:暗影》移除D加密,性能提升显著
- 王者荣耀|游戏性能数据简报〡iPhone 13
- |原神云游戏公测,再也不用担心手机性能,还能白嫖一个月?
- 仙剑奇侠传七|英伟达公布最新支持DLSS游戏:《仙剑7》性能表现强势
- ag战队|手机性能是否过剩,本身就是个伪命题,毕竟最终解释权归用户所有
- |我现在是明白了,A15性能再强没啥用