生成短8位唯一字符ID

项目需要用到8位唯一字符,UUID是32位,不能满足需求。

用到的类:

org.apache.commons.lang.RandomStringUtils

相关方法:

random(int count);
randomAscii(int count);
randomAlphabetic(int count);
randomAlphanumeric(int count);
randomNumeric(int count);
random(int count, boolean letters, boolean numbers);
random(int count, int start, int end, boolean letters, boolean numbers);
random(int count, int start, int end, boolean letters, boolean numbers, char[] chars);
random(int count, String chars);
random(int count, char[] chars);

我测试了

random(int count);
randomAlphabetic(int count);
randomNumeric(int count);

这几个方法,在百万级数据量时,均有重复,且重复个数不低。测试

randomAlphanumeric(int count)

方法后,同样数据量没有重复,然后就做了个偶然性测试,发现生成1000次百万级数据量的时候,有3次重复,基本可用。

贴上测试图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值