2015-03-05 5 views
6

In Java 8 (jdk1.8.0_32), non ci sono più i file del fuso orario (sotto jre/lib/zi) come sono stati in es. Java 7u67.Perché non ci sono più file timezone in Java 8 u31?

Qualcuno sa, perché non ci sono?

Oppure è necessario scaricare una configurazione diversa? Ho usato il setup JDK (jdk-8u31-windows-i586 o x64.exe).

risposta

6

Passando in maggiori dettagli, la motivazione per rimuovere la directory lib/zi-da Java-releases a partire dalla versione 1.8 è chiaramente quella di ridurre il carico di manutenzione. La directory lib/zi-introdotta in 1.4 e il nuovo file tzdb.dat introdotto in 1.8 sono costosi da continuare in termini di manutenzione. Vedi anche questa mail da JSR-310-mailing archive.

Un altro motivo è la motivazione formulata in JEP 151 il cui obiettivo era ridurre la memoria di memoria e l'ora di avvio della libreria lib/zi. Questo obiettivo è stato finalmente risolto rilasciando la libreria lib/zi in favore del nuovo file tzdb.dat più compatto, la cui dimensione è di circa 100 kByte.

Ricordare che la vecchia struttura lib/zi ha generato transizioni di offset fino all'anno 2037. Questa limitazione ha origine nell'uso di tipi di numeri interi limitati, quindi non molto lontano nel futuro l'intera struttura è già obsoleta e avrebbe richiesto un refactoring generale se Oracle avesse deciso di mantenerlo.

+0

Grazie mille. Risposta perfetta –

Problemi correlati