2

シリアル化のために、生成されたオブジェクトに一意の ID を割り当てる必要がある Java ライブラリを準備しています。一意の ID が生成されたら、次にライブラリを使用するときに、過去に保存したオブジェクトに ID を再割り当てする可能性がないことを確認する必要があります。

現在、Stackoverflowの多くの人が , などのいくつかのオプションに依存することを提案していますが、このクラスが私のニーズに合っているかどうかはわかりませんし、それらの使用方法もわかりませんUUIDSecureRandom

使用する適切なユーティリティと ID の生成方法を教えてください。

Guava/Apache のユーティリティに基づくソリューションは大歓迎です。

4

2 に答える 2

2

重複する UUID が生成される確率はかなり低いです。異なるマシン間で 2 つの UUID インスタンスが同じ ID を生成する可能性については認識していませんが、UUID は JVM 全体で一意である必要があります。UUID を生成するためだけにデータベースを埋め込む手間はかかりません。JavaUUIDを安全に使用できます。

代替ソリューション

プログラムの複数の呼び出しで一意の ID が必要な場合は、データベース シーケンスを使用します。DB にシーケンスの次の N 個の番号をキャッシュして妥当な速度にすることができ、その値は呼び出し間で保持されます。UUID の方が使いやすいですが、どちらのソリューションも機能します。DB を使用すると、シリアライズしたオブジェクトの数がわかります。

于 2013-04-26T09:58:51.517 に答える