問題 複数のコンポーネントを持つある分散システムを作っていた時に見つけたこと。 このシステムの各コンポーネントは別々のJVMで動いているが、ある複数のクラスのオブジェクトをserialize, deserializeして共有している。例えばクラスA、クラスB、クラスCがあった時にそれぞれのインスタンスa,b,cをserialize, deserializeするためのserializer, deserializerは下記のようにClassクラスのhashCodeを使って管理していた。簡潔に書くと下記のマップのような管理をしていた。 A.class.hashCode() -> <Serializer for A> B.class.hashCode() -> <Serializer for B> C.class.hashCode() -> <Serializer for C> ところがこのシステ