String、stringbuffer与stringbuilder的区别
2016-04-20 11:20
621 查看
一、StringBuilder:线程非安全的StringBuffer:线程安全的二、执行速度:StringBuilder> StringBuffer三、
StringBuffer与StringBuilder,他们是字符串变量,是可改变的对象,每当我们用它们对字符串做操作时,实际上是在一个对象上操作的,不像String一样创建一些对象进行操作,所以速度就快了。
四、使用规则
当我们在字符串缓冲去被多个线程使用是,JVM不能保证StringBuilder的操作是安全的,虽然他的速度最快,但是可以保证StringBuffer是可以正确操作的。在使用单线程操作时建议用StringBuilder而不用StringBuffer的,就是速度的原因。
1)较少字符操作使用 String (注意字符串操作 a += i 使用时间小于 a = a+i )
2)单线程操作大量数据StringBuilder
3)多线程操大量数据StringBuffer
相关文章推荐
- UGUI实现的虚拟摇杆,可改变摇杆位置
- BlockingQueue的使用
- [Form Builder]POST 与 commit_form 的区别
- iOS7之后,关于NavigationBar存在时,UIScrollView内容发生偏移的问题
- Android 版本与 Bluetooth 版本之间的关系
- WPF:MenuItem样式
- 还来一篇说下json_value 以及 json_query 的应用 (3)
- edgesForExtendedLayout、extendedLayoutIncludesOpaqueBars、automaticallyAdjustsScrollViewInsets属性详解 )——转载
- SPOJ QTREE- Query on a tree (树链剖分)
- Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK fla
- 如何写好一个UITableView(上)
- UITabBarController自定义转场动画
- NullPointerException at com.android.volley.Request.<init>(Request.java:130)
- 【转】 ios的手势操作之UIGestureRecognizer浅析
- android属性动画相关类学习---ValueAnimator
- UIAlertController的使用
- LeetCode 308. Range Sum Query 2D - Mutable(二维区间求和)
- 手势同UI控件事件的冲突
- UIButton上同时显示图片和文字的方法
- 内部Fragment设置为public static和checkReleaseBuilds false与abortOnError false