`
mylove2060
  • 浏览: 331397 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

仿Java类StringBuffer类性能测试

阅读更多
StringBuffer = function(){
 this.arr = new Array();
 this.appendChild = function(str){
   this.arr.push(str);
 }

 this.toString = function(){
	return this.arr.join("");
 }
}
 
for(var k=1;k<=20;k++){
document.write("NO."+k+"<br>")
	 var sb = new StringBuffer();
	 var startDate = new Date();
	 for(var i=0;i<10000;i++){ 
		 sb.appendChild("I");
	 }
	  sb.toString();
	  var endDate = new Date();

	 document.write("  Use first method:"+(endDate.getTime()-startDate.getTime())+" (milliseconds)<br>");

	var str = "";
	 var startDate2 = new Date();
	 for(var i=0;i<10000;i++){ 
		str+="I"
	 }
	 var endDate2 = new Date();
	 document.write("  Use second method:"+(endDate2.getTime()-startDate2.getTime())+" (milliseconds)<br>");
 }



引用

Result:


NO.1
Use first method:47 (milliseconds)
Use second method:313 (milliseconds)
NO.2
Use first method:62 (milliseconds)
Use second method:266 (milliseconds)
NO.3
Use first method:62 (milliseconds)
Use second method:297 (milliseconds)
NO.4
Use first method:47 (milliseconds)
Use second method:297 (milliseconds)
NO.5
Use first method:47 (milliseconds)
Use second method:359 (milliseconds)
NO.6
Use first method:47 (milliseconds)
Use second method:297 (milliseconds)
NO.7
Use first method:47 (milliseconds)
Use second method:312 (milliseconds)
NO.8
Use first method:47 (milliseconds)
Use second method:313 (milliseconds)
NO.9
Use first method:47 (milliseconds)
Use second method:312 (milliseconds)
NO.10
Use first method:47 (milliseconds)
Use second method:313 (milliseconds)
NO.11
Use first method:46 (milliseconds)
Use second method:313 (milliseconds)
NO.12
Use first method:47 (milliseconds)
Use second method:344 (milliseconds)
NO.13
Use first method:46 (milliseconds)
Use second method:313 (milliseconds)
NO.14
Use first method:47 (milliseconds)
Use second method:328 (milliseconds)
NO.15
Use first method:47 (milliseconds)
Use second method:312 (milliseconds)
NO.16
Use first method:47 (milliseconds)
Use second method:328 (milliseconds)
NO.17
Use first method:47 (milliseconds)
Use second method:297 (milliseconds)
NO.18
Use first method:63 (milliseconds)
Use second method:328 (milliseconds)
NO.19
Use first method:47 (milliseconds)
Use second method:343 (milliseconds)
NO.20
Use first method:47 (milliseconds)
Use second method:344 (milliseconds)
NO.21
Use first method:47 (milliseconds)
Use second method:312 (milliseconds)
NO.22
Use first method:47 (milliseconds)
Use second method:344 (milliseconds)
NO.23
Use first method:47 (milliseconds)
Use second method:344 (milliseconds)
NO.24
Use first method:46 (milliseconds)
Use second method:344 (milliseconds)
NO.25
Use first method:47 (milliseconds)
Use second method:328 (milliseconds)
NO.26
Use first method:47 (milliseconds)
Use second method:344 (milliseconds)
NO.27
Use first method:47 (milliseconds)
Use second method:343 (milliseconds)
NO.28
Use first method:63 (milliseconds)
Use second method:328 (milliseconds)
NO.29
Use first method:47 (milliseconds)
Use second method:328 (milliseconds)
NO.30
Use first method:47 (milliseconds)
Use second method:344 (milliseconds)
NO.31
Use first method:47 (milliseconds)
Use second method:328 (milliseconds)
NO.32
Use first method:47 (milliseconds)
Use second method:375 (milliseconds)
NO.33
Use first method:46 (milliseconds)
Use second method:344 (milliseconds)
NO.34
Use first method:47 (milliseconds)
Use second method:359 (milliseconds)
NO.35
Use first method:47 (milliseconds)
Use second method:344 (milliseconds)
NO.36
Use first method:47 (milliseconds)
Use second method:359 (milliseconds)
NO.37
Use first method:47 (milliseconds)
Use second method:344 (milliseconds)
NO.38
Use first method:47 (milliseconds)
Use second method:359 (milliseconds)
NO.39
Use first method:47 (milliseconds)
Use second method:344 (milliseconds)
NO.40
Use first method:47 (milliseconds)
Use second method:359 (milliseconds)
NO.41
Use first method:47 (milliseconds)
Use second method:344 (milliseconds)
NO.42
Use first method:47 (milliseconds)
Use second method:343 (milliseconds)
NO.43
Use first method:47 (milliseconds)
Use second method:360 (milliseconds)
NO.44
Use first method:47 (milliseconds)
Use second method:359 (milliseconds)
NO.45
Use first method:62 (milliseconds)
Use second method:344 (milliseconds)
NO.46
Use first method:47 (milliseconds)
Use second method:359 (milliseconds)
NO.47
Use first method:47 (milliseconds)
Use second method:360 (milliseconds)
NO.48
Use first method:47 (milliseconds)
Use second method:359 (milliseconds)
NO.49
Use first method:47 (milliseconds)
Use second method:359 (milliseconds)
NO.50
Use first method:47 (milliseconds)
Use second method:375 (milliseconds)

Memory:2G
CPU: Inter(R) Pentium(R) Dual Cpu E2200 @2.2GHz

分享到:
评论

相关推荐

    在java性能测试中经常遇到的问题

    String和StringBuffer、StringBuilder  在java性能测试中经常遇到很多的问题,Jason对代码端的非常常见的问题留下点Memory。  String和StringBuffer、StringBuilder  在循环中使用“+”来连接String将大大降低...

    java源码包---java 源码 大量 实例

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    java源码包2

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码...

    JAVA上百实例源码以及开源项目源代码

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    JAVA上百实例源码以及开源项目

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    java源码包4

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码...

    java源码包3

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码...

    概念类JAVA试题 适合初学者

    4、String 和StringBuffer的区别 5、运行时异常与一般异常有何异同? 6、说出Servlet的生命周期,并说出Servlet和CGI的区别。 7、说出ArrayList,Vector, LinkedList的存储性能和特性 8、EJB是基于哪些技术实现的?并...

    java 面试题 总结

    JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变...

    JAVA面试题最全集

    一个“.java”原文件中是否可以包括多个类(不是内部类)? 53.掌握内部类和接口的概念 54.StringTokenizer类的使用 55.数据结构,如何遍历List中的元素? 如果要按照键值保存或者访问数据,使用什么数据结构? ...

    java 编程入门思考

    12.4.4 String和StringBuffer类 12.4.5 字串的特殊性 12.5 总结 12.6 练习 第13章 创建窗口和程序片 13.1 为何要用AWT? 13.2 基本程序片 13.2.1 程序片的测试 13.2.2 一个更图形化的例子 13.2.3 框架方法的演示 ...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    日历表格面板 [ConfigLine.java] 控制条类 [RoundBox.java] 限定选择控件 [MonthMaker.java] 月份表算法类 [Pallet.java] 调色板,统一配色类 Java扫雷源码 Java生成自定义控件源代码 2个目标文件 Java实现HTTP连接...

    Java初学者入门教学

    12.4.4 String和StringBuffer类 12.4.5 字串的特殊性 12.5 总结 12.6 练习 第13章 创建窗口和程序片 13.1 为何要用AWT? 13.2 基本程序片 13.2.1 程序片的测试 13.2.2 一个更图形化的例子 13.2.3 框架方法的演示 ...

    java联想(中文)

    12.4.4 String和StringBuffer类 12.4.5 字串的特殊性 12.5 总结 12.6 练习 第13章 创建窗口和程序片 13.1 为何要用AWT? 13.2 基本程序片 13.2.1 程序片的测试 13.2.2 一个更图形化的例子 13.2.3 框架方法的演示 ...

    JAVA_Thinking in Java

    12.4.4 String和StringBuffer类 12.4.5 字串的特殊性 12.5 总结 12.6 练习 第13章 创建窗口和程序片 13.1 为何要用AWT? 13.2 基本程序片 13.2.1 程序片的测试 13.2.2 一个更图形化的例子 13.2.3 框架方法的演示 ...

    Thinking in Java 中文第四版+习题答案

    12.4.4 String和StringBuffer类 12.4.5 字串的特殊性 12.5 总结 12.6 练习 第13章 创建窗口和程序片 13.1 为何要用AWT? 13.2 基本程序片 13.2.1 程序片的测试 13.2.2 一个更图形化的例子 13.2.3 框架方法的演示 ...

    Thinking in Java简体中文(全)

    12.4.4 String和StringBuffer类 12.4.5 字串的特殊性 12.5 总结 12.6 练习 第13章 创建窗口和程序片 13.1 为何要用AWT? 13.2 基本程序片 13.2.1 程序片的测试 13.2.2 一个更图形化的例子 13.2.3 框架方法的演示 ...

    java面试常见问题

    在过去的日子里,当你知道 String 和 StringBuilder 的区别(String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象。因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 ...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    日历表格面板 [ConfigLine.java] 控制条类 [RoundBox.java] 限定选择控件 [MonthMaker.java] 月份表算法类 [Pallet.java] 调色板,统一配色类 Java扫雷源码 Java生成自定义控件源代码 2个目标文件 Java实现HTTP连接...

Global site tag (gtag.js) - Google Analytics