java.util.TimeZone.getTimeZone(id) - это метод получения часового пояса на основе идентификатора. Пока я использовал класс, я открыл его декомпилятором и заметил, что он synchronized. И поскольку это static, это означает, что ни один из двух потоков не может вызвать метод одновременно. Это может быть очень болезненным, если несколько потоков (например, в веб-приложении) часто получают временные интервалы. Почему он должен быть синхронизирован?
Тогда я понял, что в документации ничего не говорится о синхронизации. Итак, мой декомпилятор может быть неправильным. Затем я открыл источник и синхронизирован. Почему это не документировано? Я знаю, что javadoc не включает ключевое слово synchronized, но его можно было бы упомянуть.
Решение, конечно же, должно использовать joda-time DateTimeZone