"As an application developer, how and where you put the preferences vary depending on your application, the platform it runs on, and the programming language. If your application will run only on Windows, then Registry is the place to put the preferences. Developers writing applications written in portable C/C++, on the other hand, usually put their preferences in files. Bigger, server-side applications might store them in a database (although usually something needs to be stored in a file -- the connection string to the database, for example)."
"The aptly named Preferences class provides the basic framework for working with preferences. The class provides a series of static and abstract methods to work with one of the two sets of preferences: one for user preferences and one for system preferences. Using the static methods, you get a platform-specific implementation, like the WindowsPreferences class; then you can use the abstract methods implemented by that platform-specific implementation to do the work."
"The Preferences API is designed to store strings, numbers, booleans, simple byte arrays, and the like. In this article, we will show you how to store objects using the Preferences API and provide a working library that takes care of the details for you. This is useful if your data is easily expressed as simple objects, rather than as separate values like strings and numbers."
"Today's applications are deployed in a variety of environments, and one of the ways to manage the complexity is by providing configurable components where the users and system administrators can modify application settings for their specific environments. A variety of options are available to developers for managing application configurations and preferences. They range from platform-specific solutions like the Windows registry to network-enabled configuration information via JNDI. In the Java world, most applications rely on the java.util.Properties API; however, the location and naming conventions used within properties files are not standardized."