Универсальный уникальный идентификатор(Английский:Universally Unique Idэнтификатор, аббревиатура:UUID) используется длякомпьютер128-битный идентификатор в системе для определения количества сообщений и связанных терминов:Глобально уникальный идентификатор(GUID
).
Генерируется по стандартным методикам, не зависит отцентральное агентствоизрегистрираспространять,UUID
уникальный, в отличие от большинства другихНумерацияПланы разные. повторениеUUID
Вероятность кода близка к нулю и ею можно пренебречь.
UUID
Он состоит из группы 32-значных шестнадцатеричных чисел, поэтомуUUID
Теоретическая сумма составляет 16 ^ 32 = 2 ^ 128, что примерно равно 3,4 x 10 ^ 38. То есть, если каждыйнаносекунция(нс) дает 1триллионПотребуется 10 миллиардов лет, чтобы израсходовать все UUID.
UUID
Стандартный тип содержит 32шестнадцатеричныйЧисла, сДефисделится на пять разделов в форме8-4-4-4-12
32 символа.
Пример: 550e8400-e29b-41d4-a716-446655440000
UUID формат:
В своем каноническом текстовом представленииUUID
16 октетов из 32 шестнадцатеричных (с основанием 16) цифр, отображаемых в пяти группах, разделенных дефисом «-», «8-4-4-4-12», всего 36 символов (32 буквенно-цифровых символа и 4 дефиса). Например:
123e4567-e89b-12d3-a456-426655440000
xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx
ps: сравните вверх и вниз, a представляет 10 в шестнадцатеричном формате
четыре цифрыM
выражатьUUID
номер версииN
От одного до трех старших битовUUID
Варианты. В примереMда1
иNдаa
(10xx
), что означает, что этот UUID является UUID «вариант 1», «версия 1»; то есть основанный на времениDCE/RFC 4122 UUID
.
UUID-версия:
Для «вариантов 1» и «вариантов 2» в стандарте определены пять версий, и каждая версия может быть более подходящей, чем другая, в конкретном случае использования.
М обозначается строкой версии.
Версия 1 - UUID генерируется из ID времени и узла (обычно MAC-адрес);
Версия 2 - UUID генерируется из идентификатора (обычно идентификатора группы или пользователя), времени и идентификатора узла;
Версия 3, Версия 5. Детерминированные UUID генерируются путем хеширования идентификаторов и имен пространства имен;
Версия 4 — использование UUIDслучайностьилипсевдослучайностьгенерировать.
Генерация UUID в Java:
Давайте представимJava UUID
класс можно использовать для созданияUUID
Методы:
1. randomUUID():
Он использует криптографически стойкий генератор псевдослучайных чисел для генерации псевдослучайных чисел v4.UUID
:
UUID uuid = UUID.randomUUID();
2. nameUUIDFromBytes():
мы можем использоватьnameuidfrombytes ()
генерировать из массива байтовUUID
:
byte[] byteArr = {11, 23, 33};
UUID uuid = UUID.nameUUIDFromBytes(byteArr);
Этот метод генерирует UUID v3 (на основе имени).
3. fromString():
использоватьfromString ()
, мы можем создать из стандартного строкового представленияUUID
:
UUID uuid = UUID.fromString(
"533a4559-e55c-18b3-2456-555563322002"
);
Для любой недопустимой строки, переданной в качестве параметра, будет выброшеноIllegalArgumentException
.
Сравните два uuid:
Java UUID
ДостигнутоComparable
интерфейс, поэтому мы можем использоватьcompareTo ()
способ их сравнить
UUID uuid1 = UUID.randomUUID();
UUID uuid2 = UUID.randomUUID();
int` `result = uuid1.compareTo(uuid2);
как мы знаем,compareTo ()
метод возвращает:
- 1: если uuid1 больше, чем uuid2
- 0: если uuid1=uuid2
- -1: если uuid1 меньше uuid2
Мы также можем использоватьequals ()
метод сравнения.
Суммировать:
В этом уроке мы узналиUUID
что такое и его формат и версия. Мы также представляемjava UUID
созданный классuuid
Методы.
Об авторе
Привет всем, я дядя Май, в настоящее время работаю вJava-разработка, Front-end и back-end знаю немного. Надеюсь, что мои друзья, которым я нравлюсь, обратят внимание на мой личный паблик-аккаунт, чтобы было удобно получать информацию о статье из первых рук. Конечно, вы также можете добавить мой личный WeChat (справа внизу), каждый может подружиться, спасибо за вашу поддержку.