String、StringBuffer、StringBuild的区别

他们之间的区别主要在两个重大方面

一、处理速度上

  StringBuild > StringBuffer > String

  原因: String : 它定义为字符串的常量,定以后不能修改

      StringBuild 和 StringBuffer : 他们都是字符串的变量,容易修改

二、线程处理安全

  StringBuffer : 线程最安全,它里面含有很多的synchronized的关键字

三、总结

  String :  处理少量字符时候会使用

  StringBuild :  在单线程情况下大量使用字符串

  StringBuffer : 在多线程情况下大量使用字符串

  

原文地址:https://www.cnblogs.com/liunx1109/p/10084402.html

时间: 2024-11-06 08:36:54

String、StringBuffer、StringBuild的区别的相关文章

Java杂谈之StringBuffer----兼带String,StringBuffer,StringBuilder的区别

在Java中,用到最多的当属String类型的数据了 而这一点就要涉及String , StringBuffer , StringBuilder这三大类 下面主要来比较一下String和StringBuffer的区别,因为StringBuffer和StringBuilder 太相似,所以就不拿来比较了. 提及一下,StringBuffer和StringBuilder的区别 从安全性来说,StringBuffer更安全,StringBuffer主打线程安全 从执行效率来说,StringBuilde

在JAVA中,String,Stringbuffer,StringBuilder 的区别

首先是,String,StringBuffer的区别 两者的主要却别有两方面,第一是线程安全方面,第二是效率方面 线程安全方面: String  不是线程安全的,这意味着在不同线程共享一个String的时候,需要先进行同步,否则会出现不同线程获得的值不同的情况,即线程不安全 StringBuffer 是线程安全的,在不同线程中共享的时候会自动同步,不需要手动同步. 效率方面: String在每次更改的时候均是重新建立一个变量,再将更改后的值赋予其中,多次更改之后会触发JVM的GC机制,占用资源

String,StringBuffer,StringBuilder的区别

StringBuffer和StringBuider的区别 StringBuffer是jdk1.0版本的,是线程安全的,效率低 StringBuilder是jdk1.5的,是线程不安全的,效率高 String和StringBuffer,StringBuilder的区别 String是一个不可变的字符序列 StringBuffer,StringBuilder是可变的字符序列

string,stringbuffer,stringbuild详解

Java中的字符串处理主要有下面三个类来处理的:String.StringBuffer.StringBuilder. 一.String 1.String简介 初始化: 一般由String声明的字符串,长度是不可变的,这也是它与StringBuffer和StringBuilder最直观的一个区别.一般初始化方式:String s = "hello world";经过这条语句,JVM的栈内存中产生一个s变量,堆内存中产生hello world字符串对象.s指向了hello world的地址

有关string stringbuff stringbuild 的区别

string  stringbuff stringbuild的执行效率: stringbuild>stringbuff>string String类是不可变类,任何对String的改变都会引发新的String对象的生成: StringBuffer是可变类,任何对它所指代的字符串的改变都不会产生新的对象,线程安全的. StringBuilder是可变类,线性不安全的,不支持并发操作,不适合多线程中使用,但其在单线程中的性能比StringBuffer高. 栈:存放基本类型的变量数据和对象的引用.像

【String,StringBuffer和StringBuilder区别】

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

java String,StringBuffer,StringBuilder的区别

StringBuilder.StringBuffer的方法都会调用AbstractStringBuilder中的公共方法,如super.append(...).只是StringBuffer会在方法上加synchronized关键字,进行同步. 最后,如果程序不是多线程的,那么使用StringBuilder效率高于StringBuffer ? 这句话并不理解. 1 String String:字符串常量,字符串长度不可变.Java中String是immutable(不可变)的. String类的包

String StringBuffer StringBuild作为参数传递

public static void main(String[] args) { String s1 = "hello";        String s2 = "world";        System.out.println(s1 + "---" + s2);// hello---world        change(s1, s2);        System.out.println(s1 + "---" + s2)

String、StringBuffer和StringBuild的区别

public class Test1 { public static void stringReplace (String text) { text = text.replace('j','i') ; System.out.println(text) ; } public static void stringBufferReplace(StringBuffer text) { text = text.append("c") ; System.out.println(text) ; }

转:String StringBuffer StringBuilder区别

转自:http://www.iteye.com/topic/522167 作者:每次上网冲杯Java时,都能看到关于String无休无止的争论.还是觉得有必要让这个讨厌又很可爱的String美眉,赤裸裸的站在我们这些Java色狼面前了.嘿嘿.... 众所周知,String是由字符组成的串,在程序中使用频率很高.Java中的String是一个类,而并非基本数据类型. 不过她却不是普通的类哦!!! [镜头1] String对象的创建       1.关于类对象的创建,很普通的一种方式就是利用构造器,