Java的String与StringBuffer、StringBuilder的性能比较
来源:互联网 发布:php 字符集转换 编辑:程序博客网 时间:2024/05/17 06:13
1.先看下测试代码测试代码如下:[java] view plain copy package com.gbicc.thread; public class StringTest { private void funBuffer() { String tempstr = "abcdefghijklmnopqrstuvwxyz"; int times = 1500000; long lstart2 = System.currentTimeMillis(); StringBuffer sb = new StringBuffer(); for (int i = 0; i < times; i++) { sb.append(tempstr); } long lend2 = System.currentTimeMillis(); long time2 = (lend2 - lstart2); System.out.println(time2); } private void funBuilder() { String tempstr = "abcdefghijklmnopqrstuvwxyz"; int times = 1500000; long lstart2 = System.currentTimeMillis(); StringBuilder sb = new StringBuilder(); for (int i = 0; i < times; i++) { sb.append(tempstr); } long lend2 = System.currentTimeMillis(); long time2 = (lend2 - lstart2); System.out.println(time2); } private void funStr() { String tempstr = "abcdefghijklmnopqrstuvwxyz"; int times = 100; long lstart1 = System.currentTimeMillis(); String str = ""; for (int i = 0; i < times; i++) { str += tempstr; } long lend1 = System.currentTimeMillis(); long time = (lend1 - lstart1); System.out.println(time); } /** * @param args */ public static void main(String[] args) { StringTest test = new StringTest(); test.funBuilder(); test.funBuffer(); test.funStr(); } } 代码说明:代码里有3个函数,一个是测试String的,一个是测试StringBuffer的,一个是测试StringBuilder的,功能就是让24个英文字母相加。测试的机器配置:2.看下测试结果:时间单位:毫秒次数 String花费时间 StringBuffer花费时间 StringBuilder花费时间1000 47 0~1 0~15000 1187 2 110000 5634 2 112000 8801 3 315000 16347 3 318000 27202 4 420000 35911 4 450000 ...... 12 12100000 ....... 31 30由此可见,当需要对字符串做修改的时候,如果改动频繁,次数太大,用StringBuffer是不二的选择。但是,当次数操作1000000次时,OutOfMemoryError了。
0 0
- Java的String与StringBuffer、StringBuilder的性能比较
- Java的String与StringBuffer、StringBuilder的性能比较
- String,StringBuffer,StringBuilder的性能比较
- String与StringBuffer和StringBuilder的比较
- String与StringBuilder以及StringBuffer的比较
- String & StringBuilder & StringBuffer 区别与性能比较
- String的"+"-StringBuilder-StringBuffer比较
- String、StringBuffer、StringBuilder的比较
- String、StringBuffer、StringBuilder的比较
- JAVA---------------String,StringBuffer与StringBuilder的区别??
- Java&&String,StringBuffer与StringBuilder的区别??
- [Java]String,StringBuffer与StringBuilder的区别??
- Java String与StringBuffer、StringBuilder的区别
- java中string.format与stringbuilder的性能比较
- String,StringBuffer,StringBuilder性能比较
- String StringBuffer StringBuilder性能比较
- string stringBuffer stringBuilder性能比较
- string 与 stringbuffer的性能比较
- cpp 7.7
- 爱你才会走在你的左边
- Hadoop、Spark等5种大数据框架对比
- 测试难题
- centos7配置常用命令
- Java的String与StringBuffer、StringBuilder的性能比较
- Mongodb启动参数和操作命令大全
- js常用正则表达式
- JNDI简介
- java多线程并发及线程池
- 一树花的记忆
- 第十二周项目3-图遍历算法实现DFS
- 命令行git使用
- android中读文件流的关闭