public static class SnowflakeId.Companion
| 限定符和类型 | 方法和说明 |
|---|---|
SnowflakeId |
fromLong(long id)
解析为id
从64位的ID中, 通过移位+掩码运算来获得各个id元素
|
Config |
getConfig()
配置
|
int |
getDatacenterIdBits()
数据中心id所占的位数
|
long |
getDatacenterIdMask()
数据中心ID的掩码
|
int |
getDatacenterIdShift()
数据中心id向左移17位(12+5)
|
long |
getMaxDatacenterId()
支持的最大数据中心id,也用作掩码, 结果是31
|
long |
getMaxSequence()
支持的最大序列号, 也用作掩码, 结果是4095
|
long |
getMaxWorkerId()
支持的最大机器id,也用作掩码, 结果是31 (这个移位算法可以很快的计算出几位二进制数所能表示的最大十进制数)
|
int |
getSequenceBits()
序列在id中占的位数: 毫秒内序列号12位自增,并发4096
|
long |
getSequenceMask()
生成序列的掩码,这里为4095 (0b111111111111=0xfff=4095)
|
long |
getStartTimestamp()
开始时间截
|
int |
getTimestampLeftShift()
时间截向左移22位(5+5+12)
|
int |
getWorkerIdBits()
机器id所占的位数
|
long |
getWorkerIdMask()
机器ID的掩码
|
int |
getWorkerIdShift()
机器ID向左移12位
|
public int getDatacenterIdBits()
数据中心id所占的位数
public int getWorkerIdBits()
机器id所占的位数
public int getSequenceBits()
序列在id中占的位数: 毫秒内序列号12位自增,并发4096
public long getMaxDatacenterId()
支持的最大数据中心id,也用作掩码, 结果是31
public long getMaxWorkerId()
支持的最大机器id,也用作掩码, 结果是31 (这个移位算法可以很快的计算出几位二进制数所能表示的最大十进制数)
public long getMaxSequence()
支持的最大序列号, 也用作掩码, 结果是4095
public int getWorkerIdShift()
机器ID向左移12位
public int getDatacenterIdShift()
数据中心id向左移17位(12+5)
public int getTimestampLeftShift()
时间截向左移22位(5+5+12)
public long getDatacenterIdMask()
数据中心ID的掩码
public long getWorkerIdMask()
机器ID的掩码
public long getSequenceMask()
生成序列的掩码,这里为4095 (0b111111111111=0xfff=4095)
public Config getConfig()
配置
public long getStartTimestamp()
开始时间截
public SnowflakeId fromLong(long id)
解析为id 从64位的ID中, 通过移位+掩码运算来获得各个id元素