S'il vous plaît donnez-moi un exemple de code pour générer merci p> uuid code> de
de type code> de type java sans utiliser horodatage. p>
3 Réponses :
Si vous voulez juste une simple longue expérience unique, vous pouvez utiliser atomiclong.incrementiandget (). Cela n'utilise pas d'horodatage mais réinitialise à 0 chaque fois que vous le démarrez et n'est pas unique sur JVMS. P>
Quelle est l'exigence de ne pas utiliser les horodatages? UUID utilise un horodatage. (Amoungt Autres choses) P>
Certains types UUID utilisent des horodatages, certains utilisent d'autres moyens pour obtenir un caractère unique.
@Stephenc Bon point. Je n'ai pas réalisé qu'il y a 4 manières documentées de générer une UUID.
Un vrai uuid est de 128 bits. Une longue est de 64 bits. P>
Ce n'est pas seulement la pédanterie. UUID signifie Le "Unicité universelle" du Schémas UUID établies sont basés sur: P >
avec 64 bits, il n'y a tout simplement pas assez de bits pour "unicité universelle". Par exemple, le paradoxe d'anniversaire signifie que si nous avions un certain nombre d'ordinateurs générant des nombres aléatoires de 64 bits, la probabilité d'une collision potentiellement détectable serait suffisamment grande pour être préoccupante. P>
Maintenant si vous voulez juste un UID (pas un UUID), tout générateur de séquence 64 bits fera le travail, à condition de prendre des mesures pour vous protéger de la séquence. (Si la séquence se répète, les identifiants ne sont pas uniques à temps; c'est-à-dire un temps donné, un identifiant donné peut désigner différentes entités.) P>
Un UUID représente une valeur de 128 bits. Cela ne va pas correspondre à un
long code>.
Dupliqué possible de numéro de série unique dans une application Web Java.