考慮到我關於Microsoft.NET框架中的順序guid性能(請參閱What are the performance improvement of Sequential Guid over standard Guid?)的文章,是否有人在Windows中實現了相同算法的正確,可靠,快速和良好的Java實現DLL文件?Java中的順序引導
問候 馬西莫
考慮到我關於Microsoft.NET框架中的順序guid性能(請參閱What are the performance improvement of Sequential Guid over standard Guid?)的文章,是否有人在Windows中實現了相同算法的正確,可靠,快速和良好的Java實現DLL文件?Java中的順序引導
問候 馬西莫
看到這篇文章: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的一個組成部分。整篇文章是一個很好的閱讀,因爲他對各種方法的性能做了很好的分析。
我使用它來爲我的DTO的充當了短暫的集合代理鍵的UUID(通用唯一ID)。不知道它是否是同一件事,但它可能會指向你正確的方向。
import java.util.UUID;
...
private String uuid=null;
...
protected String getUuid() {
synchronized (this) {
if (null ==uuid) {
uuid = UUID.randomUUID().toString();
}
return uuid;
}
}
本頁面鏈接到Java中的情侶版本1(順序)UUID實現: http://johannburkard.de/blog/programming/java/Java-UUID-generators-compared.html
對於連續的UUID,你正在尋找一個版本1的UUID。 Java UUID Generator項目似乎運作得很好,是很容易使用:
Generators.timeBasedGenerator().generate().toString()
不,這將創建一個標準的隨機的Guid,我需要一個連續的GUID。 – massimogentilini 2010-02-05 15:36:15