生成唯一的ID
public class UniqueId {
public static String getUUId(){
int machineld = ;
int hashCodeV = UUID.randomUUID().toString().hashCode();
if(hashCodeV<){
hashCodeV = - hashCodeV;
}
return machineld+String.format("%015d",hashCodeV);
}
}
以上是利用uuid 生成的唯一识别码
UUID 是什么
uuid 是通用唯一识别码(Universally unique Identifier)的缩写,是一种软件构件的标准。是开放软件基金会组织在分布式计算领域的一部分。其目的是让分布式系统中所有的元素都能够唯一的识别信息,而不需要通过中央控制端来做辨识信息的指定。
UUID 的组成
uuid 是指在一台机器上生成的数字,它保证对在同一时空中所有的机器都是唯一的。
UUID 的组成部分:
1.当前日期和时间,uuid 第一部分与时间有关
2.时钟序列
3.全局唯一的IEEE 机器识别号,如果有网卡,从网卡MAC 地址获取
UUID 格式
123e4567-e89b-12d3-a456-426655440000
一个UUID 是一个16字节 (16*8 = 128 位)的数字,通过为了方便阅读,一个UUID 被连接字符分为 5 段(8-4-4-4-12)的 32个字符
生成唯一的ID的更多相关文章
- 生成唯一的id(转)
很多朋友都利用md5()来生成唯一的编号,但是md5()有几个缺点:1.无序,导致数据库中排序性能下降.2.太长,需要更多的存储空间.其实PHP中自带一个函数来生成唯一的id,这个函数就是uniqid ...
- js生成唯一的id
1.生成[0,1)的随机数的Math.random Math.random().toString().replace(".", "");// 生成唯一的id 2 ...
- 据时间生成唯一序列ID
据时间生成唯一序列ID /** * <html> * <body> * <P> Copyright 1994 JsonInternational</p> ...
- C#生成唯一的ID保存到数据库
直接用.NET Framework 提供的 Guid() 函数: Guid.NewGuid()是指生成唯一码的规则 System.Guid.NewGuid().ToString()全球唯一标识符 (G ...
- 【高性能】生成唯一时间戳ID,1毫秒预计能生成1000个
凡事涉及到高性能貌似都是高大上的东西,所以嘛我也试试:其实这个时间戳ID的生成主要为了解决我们公司内部的券号生成,估计有小伙伴认为券号生成有这么麻烦嘛,搞个自增ID完全可以用起来,或者时间取毫微米时间 ...
- java生成唯一的id编号
GUID是一个128位长的数字,一般用16进制表示.算法的核心思想是结合机器的网卡.当地时间.一个随即数来生成GUID.从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义 ...
- Java生成唯一的ID
public class UIDGenerator { private static Date date = new Date(); private static StringBuilder buf ...
- js 如何生成唯一且不可预测的 ID
通常数据库可以生成唯一的 ID,最多的就是数字序列,也有像 MongoDB 这样产生组合序列的,不过这种形式的 ID 由于是序列,是可以预测的.如果想得到不可预测且唯一的 ID,方法还是有的. 下面主 ...
- 如何使用php生成唯一ID的4种方法
php生成唯一ID的应用场景非常普遍,如临时缓存文件名称,临时变量,临时安全码等,uniqid()函数基于以微秒计的当前时间,生成一个唯一的 ID.由于生成唯一ID与微秒时间关联,因此ID的唯一性非常 ...
随机推荐
- hadoop之mr框架的源码理解注意点
1.reduce源码中的 GroupComparable和SecondaryComparable到底都是干什么的 理解点1: 源码位置 理解点 secondaryComparable这个是可以对map ...
- SpringBoot整合mybatis使用pageHelper插件进行分页操作
SpringBoot整合mybatis分页操作 SpringBoot整合Mybatis进行分页操作,这里需要使用Mybatis的分页插件:pageHelper, 关于pageHelper的介绍,请查看 ...
- css3之渐变背景色(linear-gradient)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 【网易官方】极客战记(codecombat)攻略-地牢-高举之剑
关卡连接: https://codecombat.163.com/play/level/the-raised-sword 为了战斗,学会武装你自己. 简介 依照名字攻击每个食人魔.记住,每个食人魔需要 ...
- 第二十九篇 玩转数据结构——线段树(Segment Tree)
1.. 线段树引入 线段树也称为区间树 为什么要使用线段树:对于某些问题,我们只关心区间(线段) 经典的线段树问题:区间染色,有一面长度为n的墙,每次选择一段墙进行染色(染色允许覆盖),问 ...
- opencv:图像轮廓计算
#include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace st ...
- Linux netstat命令详解(检验本机各端口的网络连接情况)
netstat命令用于显示与IP.TCP.UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况.netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP ...
- 生成树计数模板 spoj 104 (不用逆元的模板)
/* 这种题,没理解,只是记一记如何做而已: 生成树的计数--Matrix-Tree定理 题目:SPOJ104(Highways) 题目大意: *一个有n座城市的组成国家,城市1至n编号,其中一些城市 ...
- Git提交时提示“Please make sure you have the correct access rights and the repository exists.”的解决方法
1.首先打开Git Bash设置名字和邮箱: git config --global user.name "你的名字" git config --global user.email ...
- CSS学习(8)盒模型
box:盒子,每个元素在页面中都会生成一个矩形区域(盒子) 盒子类型: 1.行盒,display属性=inline的元素,不换行(默认值) 2.块盒,display属性=block的元素,换行 浏览器 ...