Java 生成优惠劵码(唯一)
使用UUID
public static String getUUID() {
return UUID.randomUUID().toString().replace("-", "");;
}
测试代码
public static void main(String[] args) {
long startTime = System.currentTimeMillis();
for(int i=0;i<10000000;i++){
String uuid = getUUID();
System.out.println("uuid---"+i+"======="+uuid);
}
}

用时间(精确到毫秒)
//时间(精确到毫秒)
SimpleDateFormat sdf = new SimpleDateFormat("yyMMddHHmmss");
String dayTime = sdf.format(new Date());
算法
业务代码 + 日期 + UUID
目的:进一步降低编码重复概率的同时,增强其可读性,使其具备一定的业务含义
其中,第二步对中间四位的操作,也可使用四位随机数代替,如下:
//随机数
String randomNumeric = RandomStringUtils.randomNumeric(4);
本文探讨了如何使用Java的UUID生成唯一的优惠券码,并通过结合当前时间(精确到毫秒)进一步提高唯一性。测试代码显示了生成10000000个UUID所需的时间。为了增强可读性和业务含义,提出了将日期、UUID与随机四位数字组合的优化方案,可以替代中间四位的UUID部分。这种方法旨在降低重复概率,同时保持一定的业务相关性。
&spm=1001.2101.3001.5002&articleId=125168376&d=1&t=3&u=4d9f31b1a954456da44a559a42087bb0)
417

被折叠的 条评论
为什么被折叠?



