Java中的默认时区设置有点麻烦。默认情况下,如果设置默认时区,它将影响整个jvm。但是,如果使用SecurityManager运行,并且不允许当前安全上下文设置默认值,则TimeZone.setDefault()方法将设置
线程本地
值(因此,在同一线程上运行的任何其他代码将看到此值是默认值,但其余的jvm不会受到影响)。我不认为没有办法只为您的“应用程序”设置默认值,除非您可以将应用程序缩小到特定的线程集合(极不可能)。

Java中的默认时区设置有点麻烦。默认情况下,如果设置默认时区,它将影响整个jvm。但是,如果使用SecurityManager运行,并且不允许当前安全上下文设置默认值,则TimeZone.setDefault()方法将设置
线程本地
值(因此,在同一线程上运行的任何其他代码将看到此值是默认值,但其余的jvm不会受到影响)。我不认为没有办法只为您的“应用程序”设置默认值,除非您可以将应用程序缩小到特定的线程集合(极不可能)。