UUID бывает пяти разных версий, версия определяет способ создания. Формат остается одинаковым: это строковое шестнадцатеричное представление 128-битного целого числа (два long-а), разделенное дефисами на группы фиксированного размера:
25b32eaa-3017-4ad7-9224-383f6bfa5212
В Java уникальный идентификатор представляется иммутабельным классом
UUID
из пакета java.util
. В нём нет сложной логики, только getter-ы для описанных в стандарте составных частей, конструктор и статические фабричные методы.Единственный конструктор позволяет создать экземпляр по двум указанным половинам значения (старшие и младшие 64 бита в виде
long
параметров). nameUUIDFromBytes
строит из заданного массива байтов UUID версии 3. randomUUID
генерирует случайный уникальный идентификатор версии 4, с применением SecureRandom.