Class
не имеет явно определенного метода hashCode()
, поэтому он не определен как стабильный.
Это означает, что вы можете (и, вероятно, будете) получать разные результаты для MyClass.class.hashCode()
между различными запусками, даже на одной и той же JVM и определенно между различными реализациями и / или версиями JVM.
Это означает, что сериализованные данные из любой одной JVM, вероятно, будут использоваться только в пределахта же JVM.
Теперь, когда может использоваться в качестве преднамеренного способа избежать использования сериализации для связи между виртуальными машинами (это не «механизм безопасности» или что-то в этом роде, ноего можно использовать для быстрого обнаружения попыток использовать сериализацию для связи между виртуальными машинами).Но если это и есть цель, то лучше использовать случайное число, вероятно, лучше.