zoukankan      html  css  js  c++  java
  • StringBuffer笔记

    简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象
    因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,
    所以经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后,
    JVM 的 GC 就会开始工作,那速度是一定会相当慢的。这里尝试举个不是很恰当的例子: String S1 = “abc”; For(int I = 0 ; I < 10000 ; I ++) // For 模拟程序的多次调用 { S1 + = “def”; S1 = “abc”; } 如果是这样的话,到这个 for 循环完毕后,如果内存中的对象没有被 GC 清理掉的话,内存中一共有 2 万多个了

    牵扯到String里内容不断变换的时候用StringBuffer,
    String S1 = “This is only a” + “ simple” + “test”; 速度要比 StringBuffer Sb = new StringBuilder(“This is only a”).append(“ simple”).append(“ test”); 快出很多
    String S2 = “This is only a”; 
    String S3 = “ simple”; 
    String S4 = “ test”; 
    String S1 = S2 +S3 + S4; 
    速度则会慢很多
    以上内容摘抄于http://blog.csdn.net/shirleyacount/article/details/39958371
  • 相关阅读:
    HDU-2262 Where is the canteen 概率DP,高斯消元
    HDU-4418 Time travel 概率DP,高斯消元
    无人驾驶相关数据集
    C++——编译器运行过程
    C++——Struct 和 Union区别
    常用linux指令
    无人驾驶——定位
    Ubuntu 没有 无线网 RTL8821ce 8111 8186
    无人驾驶之传感器融合算法
    LIN通讯
  • 原文地址:https://www.cnblogs.com/qiangqiangqiang/p/7613684.html
Copyright © 2011-2022 走看看