`
mylove2060
  • 浏览: 335912 次
  • 性别: 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中StringBuffer和StringBuilder_动力节点Java学院整理

    以下是一个简单的性能测试,展示了在不同操作中`String`、`StringBuffer`和`StringBuilder`的性能差异: ```java public class StringTest { public static String BASEINFO = "Mr.Y"; public static final int ...

    JAVA中String与StringBuffer的区别 自己的学习笔记总结

    下面通过一个具体的性能测试示例来进一步说明 `String` 和 `StringBuffer` 的性能差异: ```java public class PerformanceTest { public static void main(String[] args) { final int times = 5000; String ...

    Java编程中影响性能的细节

    8. **利用Buffer类**:如StringBuilder和StringBuffer用于字符串拼接,BufferedInputStream和BufferedOutputStream用于I/O操作,它们通过缓冲区提高性能。 9. **避免依赖finalize方法**:finalize方法不是清理资源...

    JavaString、StringBuffer、StringBuildermd,学习代码

    例如,`2196407-20210422152310204-137300783.png`可能展示了`String`、`StringBuffer`和`StringBuilder`的性能对比测试结果,而`assets\函数式接口类型.png`可能列出了Java中的常见函数式接口。 总之,掌握`String...

    《Java程序性能优化》(葛一鸣)PDF版本下载.txt

    - **性能测试工具**:如JMeter、LoadRunner等工具可以帮助开发者模拟不同负载情况下的系统表现。 - **性能监控平台**:使用Prometheus、Grafana等工具实时监控系统的关键指标,及时发现并解决问题。 - **代码剖析...

    Java 实例 - 字符串性能比较测试源代码-详细教程.zip

    此外,我们还会讨论Java 9引入的`StringJoiner`类,这是一个用于构建字符串的工具类,它允许我们在构建字符串时提供分隔符和前缀后缀,同时具有良好的性能表现。相比传统的字符串拼接方式,`StringJoiner`在某些场景...

    Java 性能调优 Java 性能调优 Java 性能调优

    这可以通过使用性能测试工具来完成。 2. **识别瓶颈**:利用性能分析工具(如JProfiler、VisualVM等)找出程序中最耗时的部分。 3. **选择优化策略**:根据瓶颈的具体情况选择合适的优化策略,比如改进算法、...

    实用小工具:Java实体类对比、Json对比、字符串动态拼接等功能

    标题中的“实用小工具:Java实体类对比、Json对比、字符串动态拼接等功能”涉及到的是在软件开发过程中常用的几个技术点,主要集中在Java后端和前端Vue.js的应用上。这里我们将详细探讨这些知识点: 1. **Java实体...

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

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

    Java程序性能优化 让你的Java程序更快、更稳定.zip

    Java程序性能优化是每个开发人员都需要关注的重要领域,特别是在企业级应用中,高效的代码执行能够带来更好的用户体验,减少服务器资源的消耗,降低运营成本。本资料包“Java程序性能优化 让你的Java程序更快、更...

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

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

    Java占位符三种方案一起时间性能对比

    当我们需要构建一个动态字符串时,`StringBuilder` 或 `StringBuffer` 类是非常有效的工具。它们提供了 `append()` 方法,可以将任意对象转换为字符串并添加到当前字符串中。例如: ```java StringBuilder sb = ...

    java时间空间性能优化附带个人测试代码

    本篇将基于《java time and space performance tips》一书中的知识,结合提供的个人测试代码,深入探讨Java性能优化的策略。 1. **避免不必要的对象创建** - 在Java中,频繁的对象创建和垃圾回收会增加运行时的...

    java基础测试题目

    【Java基础测试题目详解】 1. **面向对象的特征** - **抽象**:抽象是面向对象编程的核心概念,它允许我们关注问题的关键部分,忽略不重要的细节。抽象分为过程抽象和数据抽象。过程抽象是将一个复杂的过程简化为...

    Java编程中为了性能需做的26件事 (编程必看)

    22. **预热和基准测试**:在优化前进行性能测试,以确定优化的有效性。 23. **延迟初始化**:只有在真正需要时才初始化对象,避免无谓的资源消耗。 24. **使用并发工具类**:比如 CountDownLatch、CyclicBarrier ...

    java开发性能优化

    Java开发中的性能优化是提升应用程序效率的关键步骤。在编程中,我们需要关注代码的运行效率,以确保程序在处理大量数据或高并发场景下仍能...在实际开发中,还需要结合具体的应用场景和性能测试结果来调整优化策略。

    Java 最全 面试题 测试

    - `StringBuffer`类提供了一个可变的字符串,支持字符串的修改操作。 #### 5. 异常处理 Java中的异常处理主要包括两种类型: - **运行时异常**:通常由编程错误导致,例如数组越界等。 - **检查异常**:编译器强制...

Global site tag (gtag.js) - Google Analytics