1. 怎么生成全局唯一的id值
java内置的工具类:
import java.util.UUID;
public class Test1 {
public static void main(String[] args) {
UUID uuid = UUID.randomUUID();
System.out.println(uuid.toString());
System.out.println(uuid.toString().replaceAll("-", ""));
}
}
UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的UUID。在这样的情况下,就不需考虑数据库创建时的名称重复问题。-----来自百度百科
以下定义摘自网络搜索结果:
UUID由以下几部分的组合:
(1)当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。
(2)时钟序列。
(3)全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得。
疑问:mongodb所自动生成的ObjectId是否与这个有异曲同工的原理?
原文:https://www.cnblogs.com/zhangxuezhi/p/11552732.html