java中String StringBuffer 与 StringBuilder 的区别
2016-06-21 22:58
495 查看
在编程过程中,我们会经常遇到String,StringBuffer,StringBuilder这三个长得很像的东西。
现在来总结一下他们的异同。
1.可变性
String 字符串常量,不可变。
StringBuffder和StringBuilder,字符串变量,可变。
网上有的帖子说 StringBuffder和StringBuilder都是 AbstactStringBuilder的子类,但是我在jdk7的API没有找到
java.lang.AbstactStringBuilder.
2.线程安全性
(线程安全的概念: 网络编程中许多线程可能会同时运行一段代码。当每次运行结果和单独线程运行的结果是一样的,叫做线程安全。)
String 安全
StringBuffer 安全 加了同步锁
StringBuilder 不安全
3.执行速度
StringBuilder > StringBuffer > String
为了安全性导致性能降低
4.总结
a. 如果操作少量数据 String
b.单线程操作大量数据 StringBuilder
c.多线程操作大量数据 StringBuffer
暂时理解是这个样子,欢迎指正补充。
现在来总结一下他们的异同。
1.可变性
String 字符串常量,不可变。
StringBuffder和StringBuilder,字符串变量,可变。
网上有的帖子说 StringBuffder和StringBuilder都是 AbstactStringBuilder的子类,但是我在jdk7的API没有找到
java.lang.AbstactStringBuilder.
2.线程安全性
(线程安全的概念: 网络编程中许多线程可能会同时运行一段代码。当每次运行结果和单独线程运行的结果是一样的,叫做线程安全。)
String 安全
StringBuffer 安全 加了同步锁
StringBuilder 不安全
3.执行速度
StringBuilder > StringBuffer > String
为了安全性导致性能降低
4.总结
a. 如果操作少量数据 String
b.单线程操作大量数据 StringBuilder
c.多线程操作大量数据 StringBuffer
暂时理解是这个样子,欢迎指正补充。
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- android string.xml文件中的整型和string型代替
- Android java 与 javascript互访(相互调用)的方法例子
- android上改变listView的选中颜色
- String.intern
- Prototype源码浅析 String部分(二)
- Ruby中的String对象学习笔记
- insert语句太长用StringBuilder优化一下
- PostgreSQL ERROR: invalid escape string 解决办法
- 深入理解StringBuilder的使用方法
- 浅谈C++中的string 类型占几个字节
- 标准C++类string的Copy-On-Write技术
- C++实现string存取二进制数据的方法
- C#中string和StingBuilder内存中的区别实例分析
- 详解C++中实现继承string类的MyString类的步骤
- PHP STRING 陷阱原理说明
- c#中 String和string的区别介绍
- C#实现的图片、string相互转换类分享
- asp.net String.IsNullOrEmpty 方法
- 在C#及.NET框架中使用StringBuilder类操作字符串的技巧