StingBuffer is like Vector. Most of the time the synchronization is unnecessary; when it is necessary, it's probably at the wrong level. (I.e. you probably need synchronization in a higher-level sync block, if you need it at all.) In most code the difference in performance is probably negligible. However since standard libraries sometimes need to be called many times in a tight loop, it behooves Sun to remover unncessary overhead where possible. Frequently-used library code is often an exception to Hoare's rule about premature optimization. If you've got a library being used by many, many people in many, many different ways, then someone, somewhere, is depending on it to be as fast as possible. So opitimizing it is not premature; it's good practice.
