Последовательный гуид в Java

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

Отношения Massimo

11
задан Community 23 May 2017 в 12:09
поделиться

2 ответа

См. эту статью: 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)

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

5
ответ дан 3 December 2019 в 11:04
поделиться

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

import java.util.UUID;
...
    private String uuid=null;
...
    protected String getUuid() {
        synchronized (this) {
          if (null ==uuid) {
            uuid = UUID.randomUUID().toString();
          }
          return uuid;
        }
      }
-3
ответ дан 3 December 2019 в 11:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: