Javaで一意のファイルを作成する必要があり、UUID.randomUUIDを使用して名前を生成する予定です。これに衝突する可能性はありますか?これについて心配する必要はありませんか?
Integer attemptsToGenerateUUID = 1;
while (true) {
UUID fileUUID = UUID.randomUUID();
if (fileDoesNotExistwith this UUID name) {
save file;
break;
}
attemptsToGenerateUUID += 1;
if (attemptsToGenerateUUID > 64) {
return false;
}
}
wikipedia によると、ランダムUUIDの重複の可能性に関して:
次の100年間、毎秒10億個のUUIDを生成して初めて、複製が1つだけ作成される可能性は約50%になります。別の言い方をすれば、地球上のすべての人が6億UUIDを所有している場合、1回の重複の可能性は約50%になります。
同じ理由がJavaのUUIDの実装にも当てはまると思います。いいえ、これについて心配する必要はありません。