Difference between StringBuffer and StringBuilder in java

In this post, we will see difference between StringBuffer and StringBuilder in java

StringBuffer vs StringBuilder

Parameter
StringBuffer
StringBuilder
Thread-safe
StringBuffer is thread safe. Two threads can not call methods of StringBuffer simultaneously.
StringBuilder is not thread safe, so two threads can call methods of StringBuilder simultaneously.
Performance
It is less performance efficient as it is thread-safe
It is more performance efficient as it is not thread-safe.

Performance comparison between StringBuffer and StringBuilder in single thread environment

package org.arpit.java2blog;

public class StringBuilderAndBufferMainTest {

 public static void main(String[] args) {

     long startTime = System.currentTimeMillis();  
        StringBuffer sb = new StringBuffer("Java");  
        for (int i=0; i<100000; i++){  
            sb.append("2Blog");  
        }  
        System.out.println("Time taken by StringBuffer: " + (System.currentTimeMillis() - startTime) + "ms");  
        startTime = System.currentTimeMillis();  
        StringBuilder sbuilder = new StringBuilder("Java");  
        for (int i=0; i<100000; i++){  
         sbuilder.append("2Blog");  
        }  
        System.out.println("Time taken by StringBuilder: " + (System.currentTimeMillis() - startTime) + "ms");  

 }

}

When you run above program, you may get below output:

Time taken by StringBuffer: 21ms
Time taken by StringBuilder: 9ms

You can go through core java interview questions for more such questions.

[social_share share_on="facebook,twitter,linkedin,whatsapp"][post_navigator in_same_term="true"]

Leave a Reply

Your email address will not be published. Required fields are marked *

Subscribe to our newletter

Get quality tutorials to your inbox. Subscribe now.