This week's book giveaway is in the OCPJP forum. We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line! See this thread for details.
StringBuffer is in older versions of the Java API and StringBuilder is in Java 5.0 and up. These two classes are almost identical and they are usually interchangeable.
StringBuffer is synchronized to handle sharing of the object by multiple threads. Modern thought is that this is not generally necessary and only slows things down. Generally, you will use StringBuilder if you are using Java 5.0 or later (also known as Java 1.5). [ March 15, 2008: Message edited by: Kaydell Leavitt ]
I'll just add that if you done like I had and written a large program in a single thread environment, with all kinds of StringBuffers, and you wanted to switch to faster StringBuilders, just replace the word StringBuffer with the word StringBuilder wherever it occurs, and all else will be the same.