Why are there no more timezone files in Java 8 u31?

Java 8 (jdk1.8.0_32) no longer has timezone files (under jre / lib / zi), as it was, for example, in Java 7u67.

Does anyone know why they are not there?

Or do you need to load a different setting? I used the JDK setup (jdk-8u31-windows-i586 or x64.exe).

+6
source share
2 answers

In more detailed information, the motivation to remove the lib / zi directory from Java versions, starting with version 1.8, clearly reduces the maintenance burden. The lib / zi directory, introduced in 1.4, and the new tzdb.dat file, introduced in 1.8, are expensive to maintain. See also this letter from the JSR-310 Mailing List Archive .

Another reason is the motivation formulated in JEP 151 , the purpose of which was to reduce the print footprint and the launch time of the lib / zi library. This goal was finally accomplished by dropping the lib / zi library in favor of the more compact new tzdb.dat file, which is about 100 kB in size.

Keep in mind that the old lib / zi structure generated shear transitions until 2037. This restriction has its origin in the use of restricted integer types, therefore, so far not in the future the whole structure is already outdated and would require general refactoring if Oracle decided to keep it.

+6
source

Java 8 introduced the API Dates and Times , which probably made these files obsolete.

+2
source

Source: https://habr.com/ru/post/983382/


All Articles