Зачем модифицировать MyClass?Лучшим подходом (и намного проще работать с ним одновременно) является создание новых неизменных версий вашего объекта состояния и их CAS при обновлении с помощью AtomicReference.Например:
final class MyClass {
final int age;
final String name;
final String address;
MyClass(int age, String name, String address) {…}
MyClass setNameAndAddress(String name, String address) {return new MyClass(age, name, address);}
}
Тогда сериализация не является проблемой, поскольку вы имеете дело с неизменным объектом.Ваша сохраненная ссылка может переходить только из одного действительного состояния в другое, и несколько обновлений могут выполняться атомарно.