StringBuffer与StringBuilder有什么区别
package String比较;
/*
* StringBuffer与StringBuilder有什么区别
* StringBuilder是JDK5增加的一个新类,功能几乎与StringBuffer相同。区别在于StringBuffer是线程安全的,
* 多个线程同时操作StringBuffer时,能保证同步,而Stringbuilder是线程非安全的。如果只在单线程环境下使用,StringBuilder
* 的效率会更高
*/ public class Test9 { public static void main(String[] args) {
// TODO Auto-generated method stub
String strtemp = "watch_free";
int time = 12000;
@SuppressWarnings("unused")
String str = "";
long start1 = System.currentTimeMillis();
for(int i= 0;i<time;i++){
str+=strtemp;
}
long end1 = System.currentTimeMillis();
System.out.println("String:"+(end1-start1)+"ms");//1218ms StringBuffer sbf = new StringBuffer();
long start2 = System.currentTimeMillis();
for(int i = 0;i<time;i++){
sbf.append(strtemp);
}
long end2 = System.currentTimeMillis();
System.out.println("StringBuffer:"+(end2-start2)+"ms");//2ms StringBuilder sbd = new StringBuilder();
long start3 = System.currentTimeMillis();
for(int i = 0;i<time;i++){
sbd.append(strtemp);
}
long end3 = System.currentTimeMillis();
System.out.println("StringBuilder:"+(end3-start3)+"ms");//1ms
} }
StringBuffer与StringBuilder有什么区别的更多相关文章
- String、StringBuffer、StringBuilder之间的区别
String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) ...
- String、StringBuffer和StringBuilder类的区别
Java提供了String.StringBuffer和StringBuilder类来封装字符串,并提供了一系列操作字符串对象的方法. 它们的相同点是都用来封装字符串:都实现了CharSequence接 ...
- Java基础知识(JAVA中String、StringBuffer、StringBuilder类的区别)
java中String.StringBuffer.StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题.现在总结一下,看看他们的不同与相同. 1.可变与不可 ...
- Java String、StringBuffer、StringBuilder有什么区别
① String是Java语言非常基础和重要的类,提供了构造和管理字符串的各种基本逻辑.它是典型的immutable类,被声明成final class,所有属性也都是final的,由于它的不可变性,类 ...
- String、Stringbuffer和Stringbuilder之间的区别
关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下 1.在执行速度方面:Stringbuilder>Stringbuffer&g ...
- String、StringBuffer、StringBuilder有什么区别?
1.在字符串不经常发生变化的业务场景优先使用String(代码更清晰简洁).如常量的声明,少量的字符串操作(拼接,删除等). 2.在单线程情况下,如有大量的字符串操作情况,应该使用StringBuil ...
- String与StringBuffer和StringBuilder的根本区别(String为什么无法修改字符串长度)
从网上看了很多的信息,说的大部分是关于final修饰的原因,却没有详细的解释!根据自己收集的资料,跟大家分享一下我的观点(有错请指正).1.我们都知道在修改字符串长度的时候,StringBuffer和 ...
- StringBuffer与StringBuilder原理与区别
其实只要找下Google大神就有答案了:StringBuffer 与 StringBuilder 中的方法和功能完全是等价的,只是StringBuffer 中的方法大都采用了 synchronized ...
- StringBuffer与StringBuilder之间的区别
public class Test { public static void main(String[] args) { StringBuffer strBuffer = new StringBuff ...
随机推荐
- Codeforces 580D Kefa and Dishes(状压DP)
题目大概说要吃掉n个食物里m个,吃掉各个食物都会得到一定的满意度,有些食物如果在某些食物之后吃还会增加满意度,问怎么吃满意度最高. dp[S][i]表示已经吃掉的食物集合是S且刚吃的是第i个食物的最大 ...
- Windows和Linux(Ubuntu)下安装Scala及ScalaIDE
1.下载 1.1Scala下载 Windows版:http://www.scala-lang.org/download/ Linux版:http://www.scala-lang.org/downlo ...
- ural 1346. Intervals of Monotonicity
1346. Intervals of Monotonicity Time limit: 1.0 secondMemory limit: 64 MB It’s well known that a dom ...
- ccc animation
cc.Class({ extends: cc.Component, properties: { sheepAnim: { default: null, type: cc.Animation } }, ...
- ACM 谁获得了最高奖学金
谁获得了最高奖学金 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 某校的惯例是在每学期的期末考试之后发放奖学金.发放的奖学金共有五种,获取的条件各自不同: ...
- Thymeleaf学习内容
Thymeleaf Page Layouts Spring MVC and Thymeleaf: how to access data from templates thymeleaf-layout- ...
- Oracle连接超时
客户机 要想 连接 oracle服务机(装了数据库的机子),只需要在客户机配置一个 本地服务名就行了,不管你用Oracle服务端的配置工具 还是客户端的配置工具,都没有问题. 如果只是客户机连接服务机 ...
- 用css3实现一个带缺口的圆圈(图)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Effective STL(第7条)
第7条:如果容器中包含了通过new操作创建的指针,切忌在容器对象析构前将指针delete掉 //向一个vector中添加多个new出来的对象 void doSomething(){ vector< ...
- Js的引用关系示例和总结
三种引用(指针引用)关系,借助引用关系可以形成复杂的链关系,巧妙借助链关系可以实现收放自如,形散神不散的神奇效果,jquery就是其中一例: 1.对象指向属性; 2.a=b(b是对象,a ...