Чтобы предотвратить действие TimeZone.setDefault(...)
на виртуальную машину, убедитесь, что ваш SecurityManager
НЕ дает приложениям разрешение на запись системного свойства "user.timezone"
.
Чтобы понять почему, посмотрите на исходный код .
Теперь, возможно, немного капризно полагаться на поведение, которое не описано в Javadoc.Но в этом случае у нас мало выбора.Кроме того, учитывая историю этого конкретного метода, инженеры Sun / Oracle вряд ли изменят его поведение ... еще раз.