Package me.insidezhou.southernquiet.util
Class SnowflakeIdGenerator
- java.lang.Object
-
- instep.util.LongIdGenerator
-
- me.insidezhou.southernquiet.util.SnowflakeIdGenerator
-
- All Implemented Interfaces:
IdGenerator
public class SnowflakeIdGenerator extends instep.util.LongIdGenerator implements IdGenerator
基于twitter snowflake算法、64bit、默认秒级精度的发号器0 - timestamp - highPadding - worker - lowPadding - sequence
-
-
Field Summary
Fields Modifier and Type Field Description static longEPOCHstatic intHighPaddingBitsstatic intLowPaddingBitsstatic intSequenceStartRangestatic intTickAccuracystatic intTimestampBitsstatic intWorkerIdBits
-
Constructor Summary
Constructors Constructor Description SnowflakeIdGenerator(int workerId)SnowflakeIdGenerator(int workerId, int timestampBits, int highPaddingBits, int workerIdBits, int lowPaddingBits)SnowflakeIdGenerator(int workerId, int timestampBits, int highPaddingBits, int workerIdBits, int lowPaddingBits, long epoch, int sequenceStartRange, java.util.Random random, int tickAccuracy)SnowflakeIdGenerator(int workerId, long epoch, int sequenceStartRange, int tickAccuracy)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetSequenceFromId(long id)longgetTicksFromId(long id)longgetTimestampFromId(long id)intgetWorkerFromId(long id)-
Methods inherited from class instep.util.LongIdGenerator
generate, getEpochInMilliSeconds, getEpochInSeconds, getEpochTick, getHighPaddingBits, getLastTick, getLowPaddingBits, getMaxSequenceValue, getMaxWorkerId, getRandom, getSequence, getSequenceBits, getSequenceStartRange, getTickAccuracy, getTimestampBits, getTimestampShift, getWorkerId, getWorkerIdBits, getWorkerIdShift
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface me.insidezhou.southernquiet.util.IdGenerator
generate
-
-
-
-
Field Detail
-
EPOCH
public static final long EPOCH
- See Also:
- Constant Field Values
-
TimestampBits
public static final int TimestampBits
- See Also:
- Constant Field Values
-
HighPaddingBits
public static final int HighPaddingBits
- See Also:
- Constant Field Values
-
WorkerIdBits
public static final int WorkerIdBits
- See Also:
- Constant Field Values
-
LowPaddingBits
public static final int LowPaddingBits
- See Also:
- Constant Field Values
-
SequenceStartRange
public static final int SequenceStartRange
- See Also:
- Constant Field Values
-
TickAccuracy
public static final int TickAccuracy
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SnowflakeIdGenerator
public SnowflakeIdGenerator(int workerId, int timestampBits, int highPaddingBits, int workerIdBits, int lowPaddingBits, long epoch, int sequenceStartRange, @Nullable java.util.Random random, int tickAccuracy)
-
SnowflakeIdGenerator
public SnowflakeIdGenerator(int workerId, int timestampBits, int highPaddingBits, int workerIdBits, int lowPaddingBits)
-
SnowflakeIdGenerator
public SnowflakeIdGenerator(int workerId, long epoch, int sequenceStartRange, int tickAccuracy)
-
SnowflakeIdGenerator
public SnowflakeIdGenerator(int workerId)
-
-
Method Detail
-
getTicksFromId
public long getTicksFromId(long id)
- Specified by:
getTicksFromIdin interfaceIdGenerator
-
getTimestampFromId
public long getTimestampFromId(long id)
- Specified by:
getTimestampFromIdin interfaceIdGenerator
-
getWorkerFromId
public int getWorkerFromId(long id)
- Specified by:
getWorkerFromIdin interfaceIdGenerator
-
getSequenceFromId
public int getSequenceFromId(long id)
- Specified by:
getSequenceFromIdin interfaceIdGenerator
-
-