В книге "Эффективная Ява" Джош Блох говорит, что
StringBuffer в значительной степени устарел и должен быть заменен несинхронизированная реализация 'StringBuilder'
.
Но по моему опыту, я все еще видел широкое использование класса StringBuffer. Почему класс StringBuffer устарел и почему StringBuilder предпочтительнее StringBuffer, за исключением увеличения производительности из-за несинхронизации?