首页 > 编程语言 > 详细

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

时间:2015-02-18 22:03:00      阅读:335      评论:0      收藏:0      [点我收藏+]

首先是,String,StringBuffer的区别

两者的主要却别有两方面,第一是线程安全方面,第二是效率方面

 

线程安全方面:

String  不是线程安全的,这意味着在不同线程共享一个String的时候,需要先进行同步,否则会出现不同线程获得的值不同的情况,即线程不安全

StringBuffer 是线程安全的,在不同线程中共享的时候会自动同步,不需要手动同步。

效率方面:

String在每次更改的时候均是重新建立一个变量,再将更改后的值赋予其中,多次更改之后会触发JVM的GC机制,占用资源

StringBuffer每次改变的时候都是对原有变量进行改变,所以不在多次更改的时候效率更高

 

其次,StringBuffer和StringBuilder的区别

StringBuilder 是线程不安全的,但是在单线程环境中使用的话效率比stringbuffer高

 

综上:

使用的优先顺序应该是,stringbuilder >stringbuffer>string

 

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

原文:http://www.cnblogs.com/u3shadow/p/4295924.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!