A ``++serialVersionUID++`` field is strongly recommended in all ``++Serializable++`` classes. If you do not provide one, one will be calculated for you by the compiler. The danger in not explicitly choosing the value is that when the class changes, the compiler will generate an entirely new id, and you will be suddenly unable to deserialize (read from file) objects that were serialized with the previous version of the class.
``++serialVersionUID++``'s should be declared with all of these modifiers: ``++static final long++``.
Records, Swing and AWT classes, ``++abstract++`` classes, ``++Throwable++`` and its subclasses (``++Exception++``s and ``++Error++``s), and classes marked with ``++@SuppressWarnings("serial")++`` are ignored.
* https://docs.oracle.com/en/java/javase/16/docs/specs/serialization/serial-arch.html#serialization-of-records[Record Serialization] - Serialization of Records