public class Snowflake extends Object implements Serializable
snowflake的结构如下(每部分用-分开):
0 - 0000000000 0000000000 0000000000 0000000000 0 - 00000 - 00000 - 000000000000第一位为未使用,接下来的41位为毫秒级时间(41位的长度可以使用69年)
参考:http://www.cnblogs.com/relucent/p/4955340.html
| 构造器和说明 |
|---|
Snowflake(long workerId,
long datacenterId)
构造
|
Snowflake(long workerId,
long datacenterId,
boolean isUseSystemClock)
构造
|
| 限定符和类型 | 方法和说明 |
|---|---|
long |
getDataCenterId(long id)
根据Snowflake的ID,获取数据中心id
|
long |
getGenerateDateTime(long id)
根据Snowflake的ID,获取生成时间
|
long |
getWorkerId(long id)
根据Snowflake的ID,获取机器id
|
long |
nextId()
下一个ID
|
String |
nextIdStr()
下一个ID(字符串形式)
|
public Snowflake(long workerId,
long datacenterId)
workerId - 终端IDdatacenterId - 数据中心IDpublic Snowflake(long workerId,
long datacenterId,
boolean isUseSystemClock)
workerId - 终端IDdatacenterId - 数据中心IDisUseSystemClock - 是否使用SystemClock 获取当前时间戳public long getWorkerId(long id)
id - snowflake算法生成的idpublic long getDataCenterId(long id)
id - snowflake算法生成的idpublic long getGenerateDateTime(long id)
id - snowflake算法生成的idpublic long nextId()
public String nextIdStr()
Copyright © 2019. All rights reserved.