在JAVA中,String,Stringbuffer,StringBuilder 的区别
2015-02-18 20:56
369 查看
首先是,String,StringBuffer的区别
两者的主要却别有两方面,第一是线程安全方面,第二是效率方面
线程安全方面:
String 不是线程安全的,这意味着在不同线程共享一个String的时候,需要先进行同步,否则会出现不同线程获得的值不同的情况,即线程不安全
StringBuffer 是线程安全的,在不同线程中共享的时候会自动同步,不需要手动同步。
效率方面:
String在每次更改的时候均是重新建立一个变量,再将更改后的值赋予其中,多次更改之后会触发JVM的GC机制,占用资源
StringBuffer每次改变的时候都是对原有变量进行改变,所以不在多次更改的时候效率更高
其次,StringBuffer和StringBuilder的区别
StringBuilder 是线程不安全的,但是在单线程环境中使用的话效率比stringbuffer高
综上:
使用的优先顺序应该是,stringbuilder >stringbuffer>string
两者的主要却别有两方面,第一是线程安全方面,第二是效率方面
线程安全方面:
String 不是线程安全的,这意味着在不同线程共享一个String的时候,需要先进行同步,否则会出现不同线程获得的值不同的情况,即线程不安全
StringBuffer 是线程安全的,在不同线程中共享的时候会自动同步,不需要手动同步。
效率方面:
String在每次更改的时候均是重新建立一个变量,再将更改后的值赋予其中,多次更改之后会触发JVM的GC机制,占用资源
StringBuffer每次改变的时候都是对原有变量进行改变,所以不在多次更改的时候效率更高
其次,StringBuffer和StringBuilder的区别
StringBuilder 是线程不安全的,但是在单线程环境中使用的话效率比stringbuffer高
综上:
使用的优先顺序应该是,stringbuilder >stringbuffer>string
相关文章推荐
- JAVA中String与StringBuffer 、StringBuilder的区别
- 理解java String,深入解析StringBuffer和StringBuilder的区别
- Java 中的字符串类String、StringBuffer、StringBuilder的区别
- JAVA中String与StringBuffer,StringBuilder应用的区别
- Java 中的字符串类String、StringBuffer、StringBuilder的区别
- java语言中String,StringBuffer,StringBuilder的区别
- Java笔记—String,StringBuffer ,StringBuilder 的区别
- JAVA中String与StringBuffer 、StringBuilder的区别
- Java之String、StringBuffer、StringBuilder的区别
- JAVA---------------String,StringBuffer与StringBuilder的区别??
- Java中String、StringBuilder和StringBuffer的区别
- 【Java基础】String,StringBuffer,StringBuilder之间的区别
- Java中String,StringBuilder和StringBuffer的区别
- JAVA中String与StringBuffer 、StringBuilder的区别
- Java中String,StringBuilder和StringBuffer的区别
- 【java面试题】StringBuilder与StringBuffer和String 的区别
- Java中String, StringBuffer 和 StringBuilder 三个类的区别和联系
- JAVA中String与StringBuffer 、StringBuilder的区别
- Java:String、StringBuffer和StringBuilder的区别
- Java之String、StringBuffer、StringBuilder的区别分析