Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

In Java 8 (jdk1.8.0_32), there are not longer the timezone files (under jre/lib/zi) as have been in e.g. Java 7u67.

Does anybody know, why they aren't there?

Or is it required to download a different setup? I used the JDK setup (jdk-8u31-windows-i586 resp. x64.exe).

like image 543
Gavin Proggy Avatar asked Mar 05 '15 14:03

Gavin Proggy


1 Answers

Going into more details, the motivation for removing the lib/zi-directory from Java-releases starting with version 1.8 is clearly to reduce the maintenance burden. The lib/zi-directory introduced in 1.4 and the new tzdb.dat-file introduced in 1.8 are to expensive to be continued in terms of maintenance. See also this mail from JSR-310-mailing archive.

Another reason is the motivation formulated in JEP 151 whose target was to reduce the memory foot print and starting time of lib/zi-library. This goal was finally resolved by dropping the lib/zi-library in favor of the more compact new tzdb.dat-file whose size is about 100 kByte.

Keep also in mind that the old lib/zi-structure has generated offset transitions up to the year 2037. This limitation has its origins in using limited integer types, so not so far in the future the whole structure is already obsolete and would have required a general refactoring if Oracle had decided to keep it.

like image 154
Meno Hochschild Avatar answered Nov 14 '22 23:11

Meno Hochschild