浅谈StringStringBuffer和StringBuilder类的区别
Posted yangjuanjuan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈StringStringBuffer和StringBuilder类的区别相关的知识,希望对你有一定的参考价值。
1、均可对字符串进行修改,但StringBuffer和StringBuilder类的对象进行多次修改时,不产生新的未使用对象。
String 的底层是用final修饰的char数组,变量的内容不可变——内存占用高,资源利用率低;
StringBuffer和StringBuilder类 则继承了AbstractStringBuilder类,其未使用final修饰char数组,变量内容动态更新——无效数组等待垃圾回收,减少资源占用;
2、StringBuilder相较于StringBuffer有速度优势。
3、StringBuilder和StringBuffer最大的区别是StringBuilder不是线程安全(不能同步访问)。
StringBuffer在拼接字符串时通过使用同步锁,实现线程安全;
StringBuilder未使用同步锁机制,故效率高于Stringbuffer;
以上是关于浅谈StringStringBuffer和StringBuilder类的区别的主要内容,如果未能解决你的问题,请参考以下文章
StringStringBuffer与StringBuilder的区别
Java学习笔记之StringStringBuffer和StringBuilder
StringStringBuffer与StringBuilder之间区别
StringStringBuffer和StringBuilder