The only difference between StringBuffer and StringBuilder is that StringBuilder is unsynchronized whereas StringBuffer is synchronized. So when the application needs to be run only in a single thread then it is better to use StringBuilder. StringBuilder is more efficient than StringBuffer.
StringBuffer is syncronized
StringBuilder is unsyncronized.
StringBuffer and StringBuilder are mutable.
StringBuilder was added in java 5 API it's same as StringBuffer except is not thread safe
StringBuilder is faster then StringBuffer as performance point of view.