String,StringBuffer,StringBuilder性能分析
来源:互联网 发布:人工智能真的来了杨澜 编辑:程序博客网 时间:2024/04/29 18:26
import java.text.SimpleDateFormat;import java.util.Date;/*功能:String,StringBufffer,StringBuilder性能分析 *实现:循环执行前后分别记录系统时间,循环执行后计算循环执行时间 *Date:2014-5-14 *Author:何龙 *QQ:471628912 */public class StringTest {final static int time = 50000;// 测试循环次数// 熟练掌握日期处理public StringTest() {Date nowTime = new Date(System.currentTimeMillis());SimpleDateFormat tFormat = new SimpleDateFormat("yyyy-MM-dd");String time = tFormat.format(nowTime);System.out.println("系统当前时间为:" + time);}// 测试String类操作时所需时间public void test(String s) {long begin = System.currentTimeMillis();for (int i = 0; i < time; i++) {s += "add";}long over = System.currentTimeMillis();System.out.println("操作" + s.getClass().getName() + "类型使用的时间为"+ (over - begin) + "毫秒");}// 测试StringBuffer类操作所需时间public void test2(StringBuffer s) {long begin = System.currentTimeMillis();for (int i = 0; i < time; i++) {s.append("add");}long over = System.currentTimeMillis();System.out.println("操作" + s.getClass().getCanonicalName() + "类型使用的时间为:"+ (over - begin) + "毫秒");}// 测试StringBuilder类的操作所需时间public void test3(StringBuilder s) {long begin = System.currentTimeMillis();for (int i = 0; i < time; i++) {s.append("add");}long over = System.currentTimeMillis();System.out.println("操作" + s.getClass().getName() + "类型使用的时间为:"+ (over - begin) + "毫秒");}// 对String直接进行字符串拼接测试(包括操作引用和直接操作两种)public void test4() {String s2 = "abcd";long begin = System.currentTimeMillis();for (int i = 0; i < time; i++) {String s = s2 + s2 + s2;}long over = System.currentTimeMillis();System.out.println("操作字符串对象引用相加类型使用的时间为:" + (over - begin) + "毫秒");}public void test5() {long begin = System.currentTimeMillis();for (int i = 0; i < time; i++) {String s = "abcd" + "abcd" + "abcd";}long over = System.currentTimeMillis();System.out.println("操作字符串相加使用的时间为:" + (over - begin) + "毫秒");}public static void main(String args[]) {String s1 = "abcd";StringBuffer s2 = new StringBuffer("abcd");StringBuilder s3 = new StringBuilder("abcd");StringTest tt = new StringTest();System.out.println("计算String,StringBuffer,StringBuilder的时间需求:");tt.test(s1); // String操作tt.test2(s2);// StringBuffer操作tt.test3(s3);// StringBuilder操作tt.test4();// String引用tt.test5();// Sting直接相加}}
测试结果:
0 0
- String,StringBuffer,StringBuilder性能分析
- string,stringBuffer,stringBuilder性能分析
- String Stringbuilder Stringbuffer性能
- 分析String ,stringbuilder, stringbuffer
- String,StringBuffer,StringBuilder性能比较
- String StringBuffer StringBuilder性能比较
- 性能优化:StringBuilder>StringBuffer>String
- string stringBuffer stringBuilder性能比较
- String、StringBuffer、StringBuilder 性能测试
- String/StringBuilder/StringBuffer性能对比
- String,StringBuilder,StringBuffer对比分析
- String、StringBuffer、StringBuilder的性能测试
- String,StringBuffer,StringBuilder的性能比较
- String,StringBuffer,StringBuilder三者性能
- String、StringBuffer、StringBuilder区分和性能比较
- String、StringBuffer和StringBuilder的性能对比
- String & StringBuilder & StringBuffer 区别与性能比较
- String,StringBuffer,StringBuilder区别及性能详解
- 程序一直报错,不知道该如何改了,望各位大神帮我看看
- PHP扩展使用libpng出core
- UVA10943How do you add?
- 熵编码 之 3. Golomb coding
- Etag、Expires、Last-Modified
- String,StringBuffer,StringBuilder性能分析
- 简单排序
- Android地图显示
- codeforces 472C Checkposts 强连通
- 黑马程序员 java基础24天 GUI编程学习总结
- 修饰模式
- 动画=重绘+交换
- 【Python笔记】python第三方库lxml源码安装&&使用笔记
- 进程保护(一)