繁体   English   中英

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

[英]strategy to create 4 bytes unique Id in java

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

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

有没有人知道创建它的策略

是的,从一个随机的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

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

你可以这样试试

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM