С момента запуска интерфейса Serializable
меня озадачило, почему я должен включать это поле во все свои классы. Я понимаю, что этому интерфейсу нужен уникальный идентификатор для обозначения класса, но почему они не могут сгенерировать его во время выполнения. Например, они могут сгенерировать его, используя хэш MD5 полного имени класса или аналогичную методологию, используемую для обработки дубликатов в их редких случаях (что, я уверен, делает eclipse, когда его просят сгенерировать идентификатор в любом случае).
Итак, что я спрашиваю (нет, этот пост не просто разглагольствование против стандартной библиотеки), как именно поле сериализации используется фреймворком?
Причина, по которой я хотел бы знать, потому что я собираюсь попытаться создать Aspect (на AspectJ или другом языке), который добавит поле serialVersionUID с использованием хэша MD5 и сможет обрабатывать коллизии способом, приемлемым для API.
О результатах отпишусь, если получится.