JDK 9 RFC on 8029770: Improve user friendliness of preferences storage on Unix systems

Steven Schlansker stevenschlansker at gmail.com
Mon Mar 10 21:24:29 UTC 2014

On Mar 10, 2014, at 2:12 PM, Brian Burkhalter <brian.burkhalter at oracle.com> wrote:
> <snip>
> A) No interoperability: Java 9 and subsequent versions would not share preferences with earlier versions.
> B) Initialization only: Java 9 preferences would be initialized from the state of pre-9 preferences at the instant of first use.
> C) Unidirectional: Java 9 would detect changes made by earlier versions.
> D) Bidirectional: Java 9 and pre-9 preferences would be kept in sync.
> For options C and D note that only Java 9+ instances could effect this behavior. If for example Java 9 was not run for some time on a particular machine, the pre-9 preferences could significantly diverge from the 9 preferences. These would presumably be brought into sync when a Java 9+ instance next invoked the Preferences APIs.

If the scope of the change remains to naming only (leaving the file format the same), it may be possible to
implement option D via linking - either hard links or symlinks - preserving bidirectional compatibility
without the need for an explicit sync operation.

More information about the core-libs-dev mailing list