Java 如何实现生成有序且唯一的id
5个回答
展开全部
毫秒:System.currentTimeMillis(),这个毫秒其实就是自1970年1月1日0时起的毫秒数。
纳秒:System.nanoTime(),这个毫秒其实就是自1970年1月1日0时起的纳秒数。
产生的数据都是唯一的,且有序的,都可以做成序列~
纳秒:System.nanoTime(),这个毫秒其实就是自1970年1月1日0时起的纳秒数。
产生的数据都是唯一的,且有序的,都可以做成序列~
追答
毫秒:System.currentTimeMillis(),这个毫秒其实就是自1970年1月1日0时起的毫秒数。
纳秒:System.nanoTime(),这个纳秒其实就是自1970年1月1日0时起的纳秒数。
产生的数据都是唯一的,且有序的,都可以做成序列~
展开全部
可以通过当前时间来生成有序唯一的id
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
this.id = UUID.randomUUID().toString();
使用UUID就可以了
UUID由以下几部分的组合:
(1)当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。
(2)时钟序列。
(3)全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得。
UUID的唯一缺陷在于生成的结果串会比较长。关于UUID这个标准使用最普遍的是微软的GUID(Globals Unique Identifiers)。在ColdFusion中可以用CreateUUID()函数很简单地生成UUID,其格式为:xxxxxxxx-xxxx- xxxx-xxxxxxxxxxxxxxxx(8-4-4-16),其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字。而标准的UUID格式为:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (8-4-4-4-12),可以从cflib 下载CreateGUID() UDF进行转换。
使用UUID就可以了
UUID由以下几部分的组合:
(1)当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。
(2)时钟序列。
(3)全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得。
UUID的唯一缺陷在于生成的结果串会比较长。关于UUID这个标准使用最普遍的是微软的GUID(Globals Unique Identifiers)。在ColdFusion中可以用CreateUUID()函数很简单地生成UUID,其格式为:xxxxxxxx-xxxx- xxxx-xxxxxxxxxxxxxxxx(8-4-4-16),其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字。而标准的UUID格式为:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (8-4-4-4-12),可以从cflib 下载CreateGUID() UDF进行转换。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
时间+流水
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
id生成策略,建议你看看hibernate
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询