策略在java中创建4​​个字节的唯一ID

时间:2013-05-03 04:37:29

标签: java

我们的java应用程序有4个字节的大小限制来保存唯一ID。

我们被迫实施一个策略来创建大小为4个字节的唯一ID。

是否有人知道创建它的策略

3 个答案:

答案 0 :(得分:4)

是的,从一个随机的32位整数开始并递增它。

当你扩展时,任何其他东西都会过于苛刻(例如,如果你有10亿个已经创建的ID并且需要随机生成一个新的,你必须有一个10亿个条目表来检查内部存在...哎哟!)。

但如果绝对必须是随机和独特的,那么你可以采取的两种策略是:

1)到目前为止,每个id都使用了大HashSet个,并在生成新的随机ID时检查集合中是否存在。如果是,请丢弃并重试。

2)将所有随机使用的ID存储在数据库中,并执行SELECT以查看新生成的随机ID是否存在。如果是,请丢弃并重试。

如果唯一ID较大,您可以使用Guid(也称为uuid),这些Guid生成得足够大,以至于您永远不会看到两个Guids在任何地方都有相同的值,而不需要检查。

对于java中的Guids / UUID,请参阅http://docs.oracle.com/javase/7/docs/api/java/util/UUID.html

答案 1 :(得分:0)

我认为int可以满足您的要求。

答案 2 :(得分:0)

你可以这样尝试

private static byte[] synhead = {(byte)0xAA,0x55,0x7E,0x0B};