Последовательное руководство в Java

Учитывая сообщение, которое я сделал о последовательных рекомендациях в рамках Microsoft.NET(см. Что улучшает производительность Sequential Guid по стандарту Guid?) у кого-то есть правильная, верная, быстрая и хорошо работающая реализация Java того же алгоритма, реализованного в DLL файлах Windows?

Отношения Massimo

Ответ 1

Смотрите эту статью: http://www.informit.com/articles/article.aspx?p=25862&seqNum=7 (связанный с Страница 7).

Он содержит алгоритм, на который автор ссылается как "COMB" Guids; Я воспроизвожу его код (SQL) ниже:

SET @aGuid = CAST(CAST(NEWID() AS BINARY(10)) 
+ CAST(GETDATE() AS BINARY(6)) AS UNIQUEIDENTIFIER)

Trivial, чтобы преобразовать это в Java или на ваш желаемый язык. Очевидным основополагающим принципом является включение даты в состав Руководства. Вся статья хорошо читается, так как он хорошо анализирует производительность различных подходов.

Ответ 2

Для последовательных UUID вы ищете UUID версии 1. Проект Java UUID Generator работает довольно хорошо и довольно прост в использовании:

Generators.timeBasedGenerator().generate().toString()

Ответ 4

Я использую это для создания UUID (универсально уникальных идентификаторов) для моих DTO, которые действуют как суррогатные ключи для временных коллекций. Не знаю, если это одно и то же, но оно может указать вам в правильном направлении.

import java.util.UUID;
...
    private String uuid=null;
...
    protected String getUuid() {
        synchronized (this) {
          if (null ==uuid) {
            uuid = UUID.randomUUID().toString();
          }
          return uuid;
        }
      }