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