//没有sycronized修饰method,是线程不安全的,--StringBuffer来弥补这个缺点,但速度就慢了

并没有测试出来::

 1 /**
 2  *
 3  */
 4 package com.breaver.test.string;
 5
 6 /**
 7  * @author zzf
 8  *@date 2017年6月22日 下午11:09:36
 9  */
10 public class TestStringBuilder implements Runnable{
11     public static StringBuilder strs=new StringBuilder("my-str:");
12     private String str;
13     /**
14      * @param args
15      */
16
17     public static void main(String[] args) {
18         // TODO Auto-generated method stub
19 //        TestStringBuilder.test();
20         new Thread(new TestStringBuilder("123")).start();
21         new Thread(new TestStringBuilder("abc")).start();
22     }
23     public TestStringBuilder(String a) {
24         super();
25         // TODO Auto-generated constructor stub
26         str=a;
27     }
28     @Override
29     public void run() {
30         // TODO Auto-generated method stub
31         try{
32             while(true){
33                 System.out.println(strs.toString());
34                 Thread.sleep(1000);
35                 strs.append(str);
36             }
37         }catch (Exception e) {
38             // TODO: handle exception
39             e.printStackTrace();
40         }
41     }
42     public static void test(){
43         StringBuilder builder =new StringBuilder();
44         System.out.println(builder.toString()+":"+builder.capacity());
45         builder.append("123");
46         System.out.println(builder.toString()+":"+builder.capacity());
47         builder.append("asssssssssssssqwqw123");
48         System.out.println(builder.toString()+":"+builder.capacity()
49         +"::fact-size:"+builder.length());
50         builder.append("Aasssssssssssssqwqw123");
51         System.out.println(builder.toString()+":"+builder.capacity()
52         +"::fact-size:"+builder.length());
53     }
54 }

View Code

转载于:https://www.cnblogs.com/zeigongzi/p/7067799.html

java中StringBuilder为单线程做的,StringBuffer相反相关推荐

  1. java中怎样创建多个对象,java中StringBuilder.appent方法创建几个对象

    在Java中StringBuilder是继承AbstractStringBuilder,在AbstractStringBuilder是byte[] value; 存放字符内容 public Abstr ...

  2. [转载] 整理下java中stringBuilder和stringBuffer两个类的区别

    参考链接: Java中的StringBuffer类 StringBuilder和StringBuffer这两个类在动态拼接字符串时常用,肯定比String的效率和开销小,这是因为String的对象不会 ...

  3. [Java核心技术(卷I)] - Java中的参数能做什么和不能做什么

    1. 参考 - P123 ~ P126 2. 你将学到 Java中对方法参数能做什么和不能做什么 方法不能修改基本数据类型的参数(数值型或布尔型) 方法可以改变对象参数的状态 方法不能让一个对象参数引 ...

  4. Java 中 StringBuilder 在高性能用法总结

    关于StringBuilder,一般同学只简单记住了,字符串拼接要用StringBuilder,不要用+,也不要用StringBuffer,然后性能就是最好的了,真的吗吗吗吗? 还有些同学,还听过三句 ...

  5. java中使用什么来做错误处理_JAVA基础--如何通过异常处理错误

    <Thinking in Java>上对这章的讲解不少,可见重要性,学习和总结一些主要的记录下来. 一.创建自定义异常 package Exception; class SimpleExc ...

  6. java中的diss可以做标识符吗_因为命名被diss无数次。简单聊聊编程最头疼的事情之一:命名...

    本文已经收录进我的 80K+ Star 的 Java 开源项目 JavaGuide:https://github.com/Snailclimb/JavaGuide (「Java学习+面试指南」一份涵盖 ...

  7. java中StringBuilder清空效率比较

    都知道如果多个字符串拼接的话,用StringBuilder.append会比str+=""效率高很多 因为不用创建string对象和数组拷贝, 在jdk1.5中测试了3中方法清空b ...

  8. Java中stringBuilder

    public class Test{public static void print(String s){System.out.println(s);}//String builderpublic s ...

  9. Java中StringBuilder的清空方法比較

    StringBuilder 没有提供clear或empty方法. 清空有3种方法: 1)新生成一个,旧的由系统自己主动回收 2)使用delete 3)使用setLength 将三种方法循环1000万次 ...

  10. Java中StringBuilder清空数据方法比较

    StringBuilder 没有提供clear或empty方法. 清空有3种方法: 1)新生成一个,旧的由系统自动回收 2)使用delete 3)使用setLength 将三种方法循环1000万次,代 ...

最新文章

  1. ***JAVA多线程和并发基础面试问答
  2. 笔试算法题(55):快速排序实现之三路划分, 三元中值法和插入排序处理小子文件...
  3. IP通信基础 5月8日
  4. 为什么局域网的IP普遍是192.168开头?
  5. SpringBoot+Vue+HIKVSION实现摄像头多选并多窗口预览(插件版)
  6. ASP.NET Core 处理 404 Not Found
  7. 做IM netty的优势
  8. django model filter_2020年最新Django经典面试问题与答案汇总(上)大江狗整理
  9. 用tinypng压缩图片
  10. 两个ROS系统进行通信(通过路由器,可上网)
  11. macOS上的符号链接Symlink是什么,以及该怎么使用
  12. muduo实现finger服务
  13. 小红书推广方式和技巧有哪些?
  14. SSL证书是要怎么部署的,SSL证书怎么安装你知道吗?
  15. 新手建议收藏!还在为剪辑视频发愁?分享自媒体人必备9类工具
  16. 互联网创业盈利模式指南
  17. 计算机中颜色质量,win10系统更改颜色质量的操作技巧
  18. JS根据身份证号计算年龄
  19. kaggle 泰坦尼克 高分 预测
  20. Linux挂载大容量ntfs移动硬盘

热门文章

  1. 普通人在互联网还有机会么?
  2. [IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序...
  3. Unity笔记——1.Unity3D脚本基础
  4. RabbitMQ----源码安装
  5. HDU2049 不容易系列之(4)考新郎 —— 错排
  6. 03JavaScript程序设计修炼之道_2019-06-18_21-27-56_事件onchange
  7. Python 三级菜单-字符编码和转码-集合的操作-文件的操作
  8. linux运维命令3
  9. VMware Vsphere 6.0安装部署 总体部署架构
  10. EasyUI实现购物车、菜单和窗口栏等最常用的用户界面功能.