String,StringBuffer、StringBuilder的区别

1、可变性

String:是不可变的、其内部是fianl修饰的,每次变更都会创建一个新的对象。

StringBuffer、StringBuilder是可变的,字符串的变更是不会创建新对象的。

2、线程安全性

String是不变的,线程安全的。

StringBuffer是线程安全的,每次操作方法是都会添加synchronized同步关键字。

StringBuilder不是线程安全的。

3、性能方面

String的性能最低,因为每次修改字符串时都会创建新对象和内存。

StringBuffer因为是可变的,可以直接修改,但是因为添加了synchronized重量级锁,所以性能不如StringBuilder。

StringBuilder性能来说最优。

4、存储方便

String是存储在字符串常量中,而Stringbuffer和StringBuilder都存储在堆内存中。

相关推荐
初晴融雪-快雪时晴8 天前
基础知识:全维度股票投资决策系统 / 从“能不能做”(宏观),到“做什么板块”(中观),再到“选哪只股票”(微观),最后到“什么时候买/卖”(操作)
基础知识
初晴融雪-快雪时晴8 天前
基础知识:月满则亏,月缺则圆 / 天道循环、物极必反
基础知识
初晴融雪-快雪时晴1 个月前
基础知识:认知不足导致财富的均值回归 / 认知是财富的容器
基础知识
weixin_446023561 个月前
C语言入门:发展历程与编程应用
c语言·基础知识·发展历程·语法结构·编程应用
阿亮爱学代码1 个月前
AAOS(Android Automotive OS)IVI(车机娱乐信息系统)相关的简单讲解
娱乐·aaos·automotive·基础知识
初晴融雪-快雪时晴1 个月前
基础只是:发动机、变速器、地盘、电池、电机、电控、智能座仓、辅助驾驶 / 当代汽车八大件
基础知识
初晴融雪-快雪时晴1 个月前
基础知识:理解虚拟资产 / 数字商品 / 实用代币 / 稳定币 / 资产支持代币 / 数字收藏品 / 数字证券
基础知识
绵满2 个月前
强化学习基础(RL)笔记
深度学习·强化学习·基础知识
●VON3 个月前
HarmonyOS应用开发实战(基础篇)Day02-《ArkTS函数》
学习·harmonyos·鸿蒙·基础知识·von
知无不研3 个月前
c语言动态内存规划
c语言·动态内存管理·内存泄露·基础知识·malloc·realloc·calloc