`

string与stringbuffer的性能对比 .

    博客分类:
  • java
 
阅读更多

string与stringbuffer常见于java面试中,以下为string与strinbuffer性能对比示例的java代码 以下为执行5000次的字符串边接。

 

 

package com.buyli.interview.baseinfo;

/**
 * @Copyright @ 2012
 * All right reserved
 * @version 创建时间:Created on 2012-11-21
 * @author 作者:Create by www.360buyli.com
 * @Email: 360buyli@gmail.com
 * @description 用于测试string与StringBuffer的性能差异
 */

public class StringInterview {
 
 public static void main(String[] args) {
  String result="";
  StringBuffer sbResult=new StringBuffer();
  int count=5000;//代表连接字符串的次数
  
  long startTime=System.currentTimeMillis();
  for (int i = 0; i <count; i++) {
   result=result+"a";
  }
  System.out.println("string时间差:"+(System.currentTimeMillis()-startTime));
  
   startTime=System.currentTimeMillis();
  for (int i = 0; i <count; i++) {
   sbResult.append("a");
  }
  System.out.println("stringbuffer时间差:"+(System.currentTimeMillis()-startTime));
 }
}

示例结果:
 string时间差:32
stringbuffer时间差:0

分享到:
评论

相关推荐

    String和StringBuffer 的区别 .txt

    ### String与StringBuffer的区别 在Java编程语言中,`String`和`StringBuffer`是非常重要的两个类,它们分别用于处理不可变(immutable)和可变(mutable)字符串。理解这两个类之间的区别对于有效地管理和操作字符...

    一篇讲清楚String、StringBuffer和StringBuild.doc

    四、String、StringBuffer 和 StringBuilder 的比较 * String 是不可变的字符序列,而 StringBuffer 和 StringBuilder 是可变的字符序列。 * StringBuffer 是线程安全的,而 StringBuilder 不是线程安全的。 * 在...

    String与StringBuffer区别详解

    3. **性能对比**: - 在单线程环境下,由于`StringBuilder`没有线程同步的开销,所以它的性能优于`StringBuffer`。 - 在多线程环境下,`StringBuffer`的线程安全特性使其成为更好的选择,虽然牺牲了一些性能,但...

    String和StringBuffer深入.doc

    为了解决这个问题,Java提供了`String.intern()`方法,允许程序强制检查字符串池,将通过`new`关键字创建的字符串对象与池中的字符串进行比较。如果池中已有相同的字符串,`intern()`方法会返回池中的引用,否则会将...

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

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

    string与stringbuffer的区别

    3. **性能对比**: 当涉及到字符串连接操作时,尤其是在循环中,`StringBuffer`(或`StringBuilder`)通常比`String`更高效。这是因为`String`每次连接操作都会创建新的`String`对象,而`StringBuffer`则是在原有的...

    String、StringBuffer、StringBuilder的使用方法

    在Java编程语言中,`String`、`StringBuffer`和`StringBuilder`是处理字符串的三个重要类,它们各自有特定的使用场景和优缺点。理解它们的差异对于编写高效的代码至关重要。 **String类** `String`是不可变的类,...

    string和StringBuffer的区别

    性能对比:当字符串需要多次修改时,`StringBuffer`或`StringBuilder`比`String`更优,因为`String`每次修改都会创建新对象,消耗更多内存和时间。尤其是在循环中拼接字符串,`StringBuffer`或`StringBuilder`的性能...

    String及StringBuffer和StringBuilder的区别

    性能对比 在一般情况下,我们推荐使用 StringBuffer,特别是在字符串对象经常改变的情况下。但是,在某些特别情况下,String 对象的字符串拼接其实是被 JVM 解释成了 StringBuffer 对象的拼接,所以这些时候 String...

    【Java基础笔记】String类以及StringBuffer Builder.docx

    理解`String`、`StringBuilder`和`StringBuffer`的特性及其方法,可以帮助开发者在Java编程中更有效地处理字符串,从而优化代码性能和内存管理。在单线程环境中,`StringBuilder`通常更高效;而在多线程环境下,为了...

    java面试笔试题String 和StringBuffer的区别

    ### 性能对比 在单线程环境下,频繁修改字符串时,使用`StringBuilder`(`StringBuffer`的一个非同步版本)通常比`StringBuffer`更加高效,因为去除了不必要的同步开销。但在多线程环境下,为了保证数据的一致性和...

    String和StringBuffer的区别

    在Java编程语言中,`String`和`StringBuffer`都是用来表示和操作字符串的重要类,但它们在性能和使用场景上有显著的区别。 首先,`String`类是不可变的,这意味着一旦创建了一个`String`对象,它的内容就不能改变。...

    String和StringBuffer详细用法总结

    根据给定的信息,本文将对`String`与`StringBuffer`在Java中的使用进行详细的解析与对比,并结合实例深入分析二者的异同及其适用场景。 ### `String` 和 `StringBuffer` 的基本概念 #### `String` 在Java中,`...

    StringBuffer和String_区别

    ### StringBuffer与String的区别详解 #### 一、概念与特性 **String** 是 Java 中一个不可变的类,代表了字符序列。一旦一个 String 对象被创建后,其内容就不能被改变。这使得 String 类非常适合用来表示常量或者...

    String总概况及其特性并与StringBuffer的区别详解

    ### String总概况及其特性并与StringBuffer的区别详解 在Java编程语言中,`String`与`StringBuffer`是非常重要的数据类型,被广泛应用于处理文本数据。本文将深入探讨这两个类的基本特性以及它们之间的区别。 ####...

    String&StringBuffer&StringBuilder三者之间的区别-经典解析.doc

    - **可变性与效率**:StringBuilder与StringBuffer类似,也是可变的,允许直接修改对象。但是,StringBuilder没有实现线程安全,这意味着它不包含同步方法,因此在单线程环境中,StringBuilder通常比StringBuffer更...

    String_raw-源码.rar

    6. **StringBuffer/StringBuilder**:在多线程环境中,如果需要频繁修改字符串,应使用`StringBuffer`,而在单线程环境中,`StringBuilder`是更好的选择,因为它们支持可变操作,性能优于`String`。 7. **intern()*...

Global site tag (gtag.js) - Google Analytics