zoukankan      html  css  js  c++  java
  • java中StringBuilder为单线程做的,StringBuffer相反

    //没有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
  • 相关阅读:
    Notes about "Exploring Expect"
    Reuse Sonar Checkstyle Violation Report for Custom Data Analysis
    Eclipse带参数调试的方法
    MIT Scheme Development on Ubuntu
    Manage Historical Snapshots in Sonarqube
    U盘自动弹出脚本
    hg的常用配置
    Java程序员的推荐阅读书籍
    使用shared memory 计算矩阵乘法 (其实并没有加速多少)
    CUDA 笔记
  • 原文地址:https://www.cnblogs.com/zeigongzi/p/7067799.html
Copyright © 2011-2022 走看看