I am not sure about in context to the SCJP but following are the major difference
String are Immutable objects which means they are final instances and value can not be changed.
StringBuffer and StringBuilder are better choises to String objects if the you have to make a string on the run. i.e. you have to concatenate
various string objects dynamically.
StringBuffer is
thread safe but StringBuilder is not thread safe. So if you have a single thread environment, StringBuilder will give you better
performance over StringBuffer.