Java timezone("user.timezone") is unpredictable on Windows when the OS's
timezone is not listed in the "lib\tzmappings" file. For example,
"America/Bahia" is set wrongly as Java timezone in JDK-8060006's case,
"Americas/Caracas" is set wrongly as Java timezone in JDK-7161087's case.
These bugs show that which Java timezone is set in the no OS's timezone
mapping case is unpredictable.
JDK-7161087 - Timezone is incorrect when OS timezone is set to Istanbul time
JDK-8060006 - No Russian time zones mapping for Windows
The unpredictable timezone(or unpredictable Java behavior) issue causes a
huge confusion to not only users but also programmers and also prevents
programmers from handling the no OS's timezone mapping case in their program.
So, please define the Java's predictable behavior for the no OS's timezone
mapping case and change Java as taking the defined and predictable behavior.
Setting Java timezone to "GMT" in the no OS's timezone mapping case might be
a reasonable behavior.