Gestionando configuraciones en java (configuración inicial / guardar / cargar configuración)

Tengo una clase Config que se ve así:

public Class Config {

    public static int someIntValue = 0;
    public static String someText = "some text";

}

Lo que quiero hacer ahora es guardar y cargar esa configuración y también hay esa configuración inicial si no hay necesidad de cargar otra. Así que la configuración puede cambiar en cualquier punto del programa.

Lo que se me ocurrió fue un patrón tipo Singelton

public Class Config {

    public static Config instance;

    private int someIntValue = 0;
    private int String someText = "some text";

    public static Config getInstance(){
    if(instance == null)
    instance = new Config();
    return instance;
    }

    public void setInstance(Config config){
    this.instance = config;
    }
    //getter/setter
    ...

}

Pero al final no parece el mejor enfoque y no estoy del todo contento con él: / Tal vez ustedes puedan ayudarme con la forma habitual / "de mejor práctica" de hacerlo.

Saludos cordiales

Respuestas a la pregunta(3)

Su respuesta a la pregunta