The difference seem to be StringBuilder being non-synchrinized and StringBuffer being synchronized. But I am not getting a clear idea on how it works.Can I please get a simple example to start getting the concept correct?
Methods of StringBuffer class are synchronized although StringBuilder's not,hence faster performance.I don't care, how synchronization work for them.If you want to know, then read this Synchronized Methods .
This class provides an API compatible with StringBuffer, but with no guarantee of synchronization. This class is designed for use as a drop-in replacement for StringBuffer in places where the string buffer was being used by a single thread (as is generally the case). Where possible, it is recommended that this class be used in preference to StringBuffer as it will be faster under most implementations.