Java生成唯一的ID

public class UIDGenerator {
private static Date date = new Date();
private static StringBuilder buf = new StringBuilder();
private static int seq = 0;
private static final int ROTATION = 99999;
public static synchronized long next(){
if (seq > ROTATION) seq = 0;
buf.delete(0, buf.length());
date.setTime(System.currentTimeMillis());
String str = String.format("%1$tY%1$tm%1$td%1$tk%1$tM%1$tS%2$05d", date, seq++);
return Long.parseLong(str);
}
}

时间: 2024-10-07 15:25:35

Java生成唯一的ID的相关文章

js生成唯一的id

1.生成[0,1)的随机数的Math.random Math.random().toString().replace(".", "");// 生成唯一的id 原文地址:https://www.cnblogs.com/ilimengyang/p/8986615.html

【高性能】生成唯一时间戳ID,如果性能不高可以不用来看

凡事涉及到高性能貌似都是高大上的东西,所以嘛我也试试:其实这个时间戳ID的生成主要为了解决我们公司内部的券号生成,估计有小伙伴认为券号生成有这么麻烦嘛,搞个自增ID完全可以用起来,或者时间取毫微米时间戳等. 如果以上真是这样简单的话,那我要说道说道:首先自增ID资源耗尽的时候,特别礼券号生成的越频繁,毕竟bigInt也有耗尽那天(当然如果有更长数字字段就是慢慢耗呗),而且依靠数据库进行被动生成,在有些业务上比较软肋:我还有一个同事说搞一张表定时去自增生成ID,这样就能随时取已经存在的ID资源数据

C#生成唯一的ID保存到数据库

直接用.NET Framework 提供的 Guid() 函数: Guid.NewGuid()是指生成唯一码的规则 System.Guid.NewGuid().ToString()全球唯一标识符 (GUID) 是一个字母数字标识符 System.Guid.NewGuid().ToString(format):生成的ID值的格式: 说明符       返回值的格式   N                  32   位: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx   D  

Java生成唯一ID

这里我用的是Java提供的java.util.UUID类来产生随机字串,UUID码是什么我就不再赘述,能满足我们的需求就可以. 下面是java代码: 1 import java.util.UUID; 2 3 public class Test { 4 5 private String getId(){ 6 UUID uuid = UUID.randomUUID(); 7 return uuid.toString().replace("-", ""); 8 } 9 1

数据库、C#、Java生成唯一GUID 方法

GUID(Global unique identifier)全局唯一标识符,它是由网卡上的标识数字(每个网卡都有唯一的标识号)以及 CPU 时钟的唯一数字生成的的一个 16 字节的二进制值. GUID 的格式为"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字.例如:76895313-839E-4E89-BAFC-B253BFF3173F 世界上的任何两台计算机都不会生成重复的 GUID 值.G

利用python的标准库hashlib 的md5()生成唯一的id

1 import hashlib 2 import time 3 4 def generate_md5(): 5 m = hashlib.md5() 6 m.update(bytes(str(time.perf_counter()),encoding='utf8')) #perf_counter() 可以精确到纳秒级别(保证不会重名) 7 return m.hexdigest() 8 9 class School(): 10 def __init__(self,s_id,name,addr):

生成唯一的ID

public class UniqueId { public static String getUUId(){ int machineld = 1; int hashCodeV = UUID.randomUUID().toString().hashCode(); if(hashCodeV<0){ hashCodeV = - hashCodeV; } return machineld+String.format("%015d",hashCodeV); } } 原文地址:https:

如何生成唯一且不可预测的 ID

通常数据库可以生成唯一的 ID,最多的就是数字序列,也有像 MongoDB 这样产生组合序列的,不过这种形式的 ID 由于是序列,是可以预测的.如果想得到不可预测且唯一的 ID,方法还是有的. 下面主要以 Node.js 的环境为例. Node-uuid Github 上有个 node-uuid 项目,它可以快速地生成符合 RFC4122 规范 version 1 或者 version 4 的 UUID. 安装,既可以通过 npm install node-uuid ,也可以在 package.

C#生成唯一值的方法汇总

生成唯一值的方法很多,下面就不同环境下生成的唯一标识方法一一介绍,作为工作中的一次总结,有兴趣的可以自行测试: 一.在 .NET 中生成 1.直接用.NET Framework 提供的 Guid() 函数,此种方法使用非常广泛.GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的任何两台计算机都不会生成重复的 GUID 值(即保证所有机器都是唯一的).关于GUID的介绍在此不作具体熬述,想深入了解可以自行查阅MSDN.代码如下: 1 using System; 2 usi