stringbuffer 和 stringbuilder区别

stringbuffer  和  stringbuilder
速度                 小于
         线程安全           线程非安全

单线程操作大量数据用stringbuilder
多线程操作大量数据用stringbuffer
少量数据速度快用string但数据不可变

时间: 2024-10-20 05:33:49

stringbuffer 和 stringbuilder区别的相关文章

String、StringBuffer以及StringBuilder区别

1.概述 String是字符串常量,StringBuffer是线程安全字符串变量,而StringBuilder是非线程安全的字符串变量 2.String与StringBuffer区别 主要区别在于String是不可变的字符串常量类型,而StringBuffer是可变的字符串变量类型.每次对String类型变量进行修改,都会创建一个新的String对象,并且把指针指向新的String对象.而对StringBuffer类型变量进行修改,不会创建一个新的字符串对象,而是直接修改原来的字符串对象的内容.

【37】String,StringBuffer,StringBuilder区别和概念

基本的概念: 查看 API 会发现,String.StringBuffer.StringBuilder 都实现了 CharSequence 接口,内部都是用一个char数组实现,虽然它们都与字符串相关,但是其处理机制不同. String String:是不可改变的量,也就是创建后就不能在修改了String 类是final类,不可以继承.对String类型最好的重用方式是组合 而不是继承. value是一个被final修饰的数组对象,所以只能说他不能再引用到其他对象而不能说明他所引用的对象的内容不

String、StringBuffer与StringBuilder区别

关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下 1.三者在执行速度方面的比较:StringBuilder >  StringBuffer  >  String 2.String <(StringBuffer,StringBuilder)的原因 String:字符串常量 StringBuffer:字符创变量 StringBuilder:字符创变量 从上面的名字可以看到,String是"字符创常量",也

StringBuffer与StringBuilder区别

从JDK源码可以看出,StringBuffer和StringBuilder都是继承自AbstractStringBuilder,其实这两个类的功能实现都是在AbstractStringBuilder实现的,两个子类只是简单地调用了一下super的方法. 差别在于StringBuffer的每个方法都加了synchronized修饰符,而StringBuilder没有,因此StringBuffer是线程安全的,而StringBuilder不是. 注:一般情况下,似乎没有用到多线程共享字符串连接的情况

String、StringBuffer和StringBuilder区别及性能分析

1.性能比较:StringBuilder >  StringBuffer  >  String 2.String <(StringBuffer,StringBuilder)的原因 String:字符串常量 StringBuffer:字符串变量 StringBuilder:字符串变量 3.源码分析 String:查看源码得知,String类的声明是:public final,所以很清楚的知道,final的值是改变不了的,所以如果我们用String来操作字符串的时候,一旦字符串的值改变,就会

【String,StringBuffer和StringBuilder区别】

在实际java开发中,我们会经常使用到字符串连接的操作,以前我习惯喜欢用String的'+'来操作,觉得非常方便好用,最近认真学习了String,StringBuffer和StringBuilder这三个类,才发现使用String来连接字符串,代码性能会很低.下面我们就字符串连接来分析这三种方式. 1.String 打开String的源码,如图所示 会发现存储字符串的字符数值是final常量.再看String的构造方法,发现String的value值在构造方法就确定了值.这里有必要说明下关键字f

String、StringBuffer、StringBuilder区别

来源:http://blog.csdn.net/koozxcv/article/details/50372374 String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全)简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常

Java 中StringBuffer与StringBuilder区别(转)及String类的一些基本操作代码

String 字符串常量StringBuffer 字符串变量(线程安全)  多个线程访问时,不会产生问题(Synchronized)StringBuilder 字符串变量(非线程安全) 多个线程访问时可能会产生问题 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不

stringbuffer与stringbuilder区别分析

它们到底都有什么区别呢! 三者都是用来对字符串进行操作,String通常用来定义一个变量,而StringBuilder StringBuffer则通常用来对字符串进行拼接等操作.但其实String同样的可以用来拼接字符串,可我们为什么很少使用呢,这样从三者的底层代码说起. String的底层代码为一个用final修饰的char数组,这意味着定义一个String变量以后,该变量的内容是不可变的. StringBuilder 与StringBuffer都继承自AbstractStringBuilde