There is a faster version of StringBuffer available called StringBuilder which does not used Synchronized methods.
StringBuilder should be used in most cases where StringBuffer was traditionally used, although I've yet to see a problem caused by StringBuffer that wasn't a solution design issue – most of the time you are waiting for I/O and the speed of string manipulations is largely irrelevant.
See the [string.buffer] section in this book.