Universally Unique Identifier (UUID) bzw. Globally Unique IDentifier (GUID) mit Java erzeugen

Ein Universally Unique Identifier (UUID) ist ein Standard für Identifikatoren. Wer eindeutige einmalige IDs braucht, kann die in Java einfach erzeugen. Es gibt da ab 1.5 die Klasse UUID mit der man einfach diese IDs erzeugen kann.

Die RFC 4122 beschreibt den Aufbau und den Algorithmus für die Erzeugung. Das ganze ist schon ziemlich sicher, da die SecureRandom Klasse in Java verwendet wird.

Habe mich gefragt, ob die auch wirklich eindeutig sind. Dafür mal eben einen kleinen JUnit Test geschrieben der 1 Millionen UUIDs erzeugt und testet ob zwei gleiche erzeugt werden. Nach 4889,556 Sekunden das Ergebnis:

Hier die Testklasse:

Die CPU war schon teilweise zu 100% ausgelastet, zumindestens einer der acht Kerne:

Ein UUID in ihrer Normalform sieht beispielsweise so aus:

Wie lange läuft bei Euch der Test? Wie lange läuft er auf einem Raspberry Pi?