项目需要用到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次重复,基本可用。
贴上测试图: