针对JDK1.4之前没有UUID
public class UUID {
protected static int count = 0;
public static synchronized String getUUID() {
count++;
long time = System.currentTimeMillis();
String timePattern = Long.toHexString(time);
int leftBit = 14 - timePattern.length();
if (leftBit > 0) {
timePattern = "0000000000".substring(0, leftBit) + timePattern;
}
String uuid = timePattern
+ Long.toHexString(Double.doubleToLongBits(Math.random()))
+ Long.toHexString(Double.doubleToLongBits(Math.random()))
+ "000000000000000000";
uuid = uuid.substring(0, 32).toUpperCase();
return uuid;
}
}
分享到:
相关推荐
NULL 博文链接:https://jarorwar.iteye.com/blog/553875
java根据时间生成唯一ID,普通的根据时间生成的ID放在循环内很容易重复。
java中有自带的方法可以自动帮助我们实现id的获取,可以作为稳定的工具类。可自定义。
本人用的生成数据库id唯一的工具类,上传来分享给大家。
1.获取系统时间 + 随机数,但是由于系统时间前几位是相同的,所以截取几位数字; 2.获取随机数,math的方法,截取几位数字; 3.判重校验
1.获取字符串唯一ID 2.获取数字唯一ID 直接使用 IdUtils.simpleUUID(); IdUtils.nextIdText();
主要介绍了Java中生成唯一ID的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
java 分布式 代码生成器 唯一ID
超级简单的Java邀请码生成器,输入一个数值类型生成一个6位的0-Z的邀请码,并且邀请码可以反向解析成数值! 非常好用,生成和反向生成的方法已经封装好了 超级简单
适用于Java分布式高并发的全局唯一ID生成器;结合Springboot和SpringCloud
java 生成8位UUID,解决UUID2太长的问题,欢迎下载。后续代码,陆续放出
java按日期加流水号方式生成订单号,已经测试过,可递增方式生成。
主要为大家详细介绍了java数据库唯一id生成工具类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
java基于雪花算法的唯一ID生成器
java 雪花算法计算生成Long类型的唯一Id的工具类
GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复
这是自动生成不重复主键的代码包,直接导包进入程序即可使用,帮助生成由字母数字组成的16位id号,可以用于数据库主键存储(使用数据库自增主键始终有问题,不适合大型程序的使用),该代码包运用于很多大型企业级...
生成20位不重复id,生成6位验证码,生成uuid等等帮助方法
uuid生成,可生成16个字符的唯一码。使用方法,见main函数