協調跨多個應用程式例項的首選項訪問

Preferences 的所有例項在單個 Java 虛擬機器(JVM)的執行緒中始終是執行緒安全的。由於 Preferences 可以跨多個 JVM 共享,因此有一些特殊方法可以處理跨虛擬機器同步更改的問題。

如果你的應用程式應該僅在單個例項中執行,則不需要外部同步

如果你的應用程式在單個系統上的多個例項中執行,因此需要在系統上的 JVM 之間協調 Preferences 訪問,則可以使用任何 Preferences 節點的 sync() 方法來確保對 Preferences 節點的更改對於系統上的其他 JVM:

// Warning: don't use this if your application is intended
// to only run a single instance on a machine once
// (this is probably the case for most desktop applications)
try {
    preferences.sync();
} catch (BackingStoreException e) {
    // Deal with any errors while saving the preferences to the backing storage
    e.printStackTrace();
}