标签:dem 使用 div time() uuid 很多 uid 小项目 time
推荐指数:★
原因:时间戳在高并发情况下有可能会出现相同
解决方案:再拼随机数,注意拼接的时候别让俩个做加法运算 时间戳变量+""+随机数变量
//时间戳第一种 System.out.println(new Date().getTime()); //时间戳第二种 System.out.println(System.currentTimeMillis());
随机数:
//生成六位随机数 System.out.println((int)((Math.random()*9+1)*100000));
推荐指数:★★
原因:它比时间戳还要细,控制的力度更强
也可以加随机数或者自己拼接自己的规则
//微秒数 System.out.println(System.nanoTime());
推荐指数:★★★
原因:他是java.util包下的一个可以产生不同的字符变量的一个类,它的功能很强大
//采用UUID的方式 import java.util.UUID; UUID randomUUID = UUID.randomUUID(); System.out.println(randomUUID);
推荐指数:★★★★★
原因:在日常中上面三种都足以满足自己的小Demo,小项目使用,但是在成熟大项目中,或许有些不够看,所以,我讲第四种
思路:文件名不是一个字符串嘛,做拼接的三面三种方式任意一种的时候,可以自己加入自己的规则,比如上传者的id,比如你从那块上传的解释,甚至加入8位甚至更多的随机数等
就是自定义规则,让概率变得更小!!!!!!!!!
标签:dem 使用 div time() uuid 很多 uid 小项目 time
原文地址:https://www.cnblogs.com/DawnCHENXI/p/9308941.html