跳过导航链接
A B C D E G I L N O P R S T U V W 

A

allocate(long, long, long) - 类 中的方法io.geewit.snowflake.BitsAllocator
Allocate bits for UID according to delta seconds & workerId & sequence
Note that: The highest bit will always be 0 for sign
asyncPadding() - 类 中的方法io.geewit.snowflake.buffer.BufferPaddingExecutor
Padding buffer in the thread pool

B

BitsAllocator - io.geewit.snowflake中的类
Allocate 64 bits for the UID(long)
sign (fixed 1bit) -> deltaSecond -> workerId -> sequence(within the same second)
BitsAllocator(int, int, int) - 类 的构造器io.geewit.snowflake.BitsAllocator
Constructor with timestampBits, workerIdBits, sequenceBits
The highest bit used for sign, so 63 bits for timestampBits, workerIdBits, sequenceBits
bitsAllocator - 类 中的变量io.geewit.snowflake.impl.DefaultUidGenerator
Stable fields after spring bean initializing
BufferedUidProvider - io.geewit.snowflake.buffer中的接口
Buffered UID provider(Lambda supported), which provides UID in the same one second
BufferPaddingExecutor - io.geewit.snowflake.buffer中的类
Represents an executor for padding RingBuffer
There are two kinds of executors: one for scheduled padding, the other for padding immediately.
BufferPaddingExecutor(RingBuffer, BufferedUidProvider) - 类 的构造器io.geewit.snowflake.buffer.BufferPaddingExecutor
Constructor with RingBuffer and BufferedUidProvider, default use schedule
BufferPaddingExecutor(RingBuffer, BufferedUidProvider, boolean) - 类 的构造器io.geewit.snowflake.buffer.BufferPaddingExecutor
Constructor with RingBuffer, BufferedUidProvider, and whether use schedule padding

C

CachedUidGenerator - io.geewit.snowflake.impl中的类
Represents a cached implementation of UidGenerator extends from DefaultUidGenerator, based on a lock free RingBuffer The spring properties you can specified as below:
boostPower: RingBuffer size boost for a power of 2, Sample: boostPower is 3, it means the buffer size will be (BitsAllocator.getMaxSequence() + 1) << CachedUidGenerator.boostPower, Default as paddingFactor: Represents a percent value of (0 - 100).
CachedUidGenerator(long) - 类 的构造器io.geewit.snowflake.impl.CachedUidGenerator
 
calSlotIndex(long) - 类 中的方法io.geewit.snowflake.buffer.RingBuffer
Calculate slot index with the slot sequence (sequence % bufferSize)

D

DEFAULT_PADDING_PERCENT - 类 中的静态变量io.geewit.snowflake.buffer.RingBuffer
 
DefaultUidGenerator - io.geewit.snowflake.impl中的类
Represents an implementation of UidGenerator The unique id has 64bits (long), default allocated as blow:
sign: The highest bit is 0 delta seconds: The next 28 bits, represents delta seconds since a customer epoch(2016-05-20 00:00:00.000).
DefaultUidGenerator(long) - 类 的构造器io.geewit.snowflake.impl.DefaultUidGenerator
 
destroy() - 类 中的方法io.geewit.snowflake.impl.CachedUidGenerator
 
discardPutBuffer(RingBuffer, long) - 类 中的方法io.geewit.snowflake.buffer.RingBuffer
Discard policy for RejectedPutBufferHandler, we just do logging

E

epochSeconds - 类 中的变量io.geewit.snowflake.impl.DefaultUidGenerator
 
epochStr - 类 中的变量io.geewit.snowflake.impl.DefaultUidGenerator
Customer epoch, unit as second.
exceptionRejectedTakeBuffer(RingBuffer) - 类 中的方法io.geewit.snowflake.buffer.RingBuffer
Policy for RejectedTakeBufferHandler, throws RuntimeException after logging

G

getBufferSize() - 类 中的方法io.geewit.snowflake.buffer.RingBuffer
 
getCursor() - 类 中的方法io.geewit.snowflake.buffer.RingBuffer
 
getLongMac() - 类 中的静态方法io.geewit.snowflake.utils.NetUtils
 
getMac() - 类 中的静态方法io.geewit.snowflake.utils.NetUtils
Retrieve local mac
getMaxDeltaSeconds() - 类 中的方法io.geewit.snowflake.BitsAllocator
 
getMaxSequence() - 类 中的方法io.geewit.snowflake.BitsAllocator
 
getMaxWorkerId() - 类 中的方法io.geewit.snowflake.BitsAllocator
 
getName() - 类 中的方法io.geewit.snowflake.utils.NamingThreadFactory
Getters & Setters
getNetwork() - 类 中的静态方法io.geewit.snowflake.utils.NetUtils
 
getSequenceBits() - 类 中的方法io.geewit.snowflake.BitsAllocator
 
getSignBits() - 类 中的方法io.geewit.snowflake.BitsAllocator
Getters
getTail() - 类 中的方法io.geewit.snowflake.buffer.RingBuffer
Getters
getTimestampBits() - 类 中的方法io.geewit.snowflake.BitsAllocator
 
getTimestampShift() - 类 中的方法io.geewit.snowflake.BitsAllocator
 
getUID() - 类 中的方法io.geewit.snowflake.impl.CachedUidGenerator
 
getUID() - 类 中的方法io.geewit.snowflake.impl.DefaultUidGenerator
 
getUID() - 接口 中的方法io.geewit.snowflake.UidGenerator
Get a unique ID
getUncaughtExceptionHandler() - 类 中的方法io.geewit.snowflake.utils.NamingThreadFactory
 
getWorkerIdBits() - 类 中的方法io.geewit.snowflake.BitsAllocator
 
getWorkerIdShift() - 类 中的方法io.geewit.snowflake.BitsAllocator
 

I

io.geewit.snowflake - 程序包 io.geewit.snowflake
 
io.geewit.snowflake.buffer - 程序包 io.geewit.snowflake.buffer
 
io.geewit.snowflake.exception - 程序包 io.geewit.snowflake.exception
 
io.geewit.snowflake.impl - 程序包 io.geewit.snowflake.impl
 
io.geewit.snowflake.utils - 程序包 io.geewit.snowflake.utils
 
io.geewit.snowflake.worker - 程序包 io.geewit.snowflake.worker
 
isDaemon() - 类 中的方法io.geewit.snowflake.utils.NamingThreadFactory
 
isRunning() - 类 中的方法io.geewit.snowflake.buffer.BufferPaddingExecutor
Whether is padding

L

lastSecond - 类 中的变量io.geewit.snowflake.impl.DefaultUidGenerator
 

N

NamingThreadFactory - io.geewit.snowflake.utils中的类
Named thread in ThreadFactory.
NamingThreadFactory() - 类 的构造器io.geewit.snowflake.utils.NamingThreadFactory
Constructors
NamingThreadFactory(String) - 类 的构造器io.geewit.snowflake.utils.NamingThreadFactory
 
NamingThreadFactory(String, boolean) - 类 的构造器io.geewit.snowflake.utils.NamingThreadFactory
 
NamingThreadFactory(String, boolean, Thread.UncaughtExceptionHandler) - 类 的构造器io.geewit.snowflake.utils.NamingThreadFactory
 
NetUtils - io.geewit.snowflake.utils中的类
NetUtils
NetUtils() - 类 的构造器io.geewit.snowflake.utils.NetUtils
 
network - 类 中的静态变量io.geewit.snowflake.utils.NetUtils
 
newThread(Runnable) - 类 中的方法io.geewit.snowflake.utils.NamingThreadFactory
 
nextId() - 类 中的方法io.geewit.snowflake.impl.DefaultUidGenerator
Get UID
nextIdsForOneSecond(long) - 类 中的方法io.geewit.snowflake.impl.CachedUidGenerator
Get the UIDs in the same specified second under the max sequence

O

ofCached(long) - 类 中的静态方法io.geewit.snowflake.SnowFlake
 
ofDefault(long) - 类 中的静态方法io.geewit.snowflake.SnowFlake
 

P

p1 - 类 中的变量io.geewit.snowflake.utils.PaddedAtomicLong
Padded 6 long (48 bytes)
p2 - 类 中的变量io.geewit.snowflake.utils.PaddedAtomicLong
Padded 6 long (48 bytes)
p3 - 类 中的变量io.geewit.snowflake.utils.PaddedAtomicLong
Padded 6 long (48 bytes)
p4 - 类 中的变量io.geewit.snowflake.utils.PaddedAtomicLong
Padded 6 long (48 bytes)
p5 - 类 中的变量io.geewit.snowflake.utils.PaddedAtomicLong
Padded 6 long (48 bytes)
p6 - 类 中的变量io.geewit.snowflake.utils.PaddedAtomicLong
Padded 6 long (48 bytes)
PaddedAtomicLong - io.geewit.snowflake.utils中的类
Represents a padded AtomicLong to prevent the FalseSharing problem The CPU cache line commonly be 64 bytes, here is a sample of cache line after padding:
64 bytes = 8 bytes (object reference) + 6 * 8 bytes (padded long) + 8 bytes (a long value)
PaddedAtomicLong() - 类 的构造器io.geewit.snowflake.utils.PaddedAtomicLong
Constructors from AtomicLong
PaddedAtomicLong(long) - 类 的构造器io.geewit.snowflake.utils.PaddedAtomicLong
 
paddingBuffer() - 类 中的方法io.geewit.snowflake.buffer.BufferPaddingExecutor
Padding buffer fill the slots until to catch the cursor
parseUID(long) - 类 中的方法io.geewit.snowflake.impl.CachedUidGenerator
 
parseUID(long) - 类 中的方法io.geewit.snowflake.impl.DefaultUidGenerator
 
parseUID(long) - 接口 中的方法io.geewit.snowflake.UidGenerator
Parse the UID into elements which are used to generate the UID.
provide(long) - 接口 中的方法io.geewit.snowflake.buffer.BufferedUidProvider
Provides UID in one second
put(long) - 类 中的方法io.geewit.snowflake.buffer.RingBuffer
Put an UID in the ring & tail moved
We use 'synchronized' to guarantee the UID fill in slot & publish new tail sequence as atomic operations
Note that: It is recommended to put UID in a serialize way, cause we once batch generate a series UIDs and put the one by one into the buffer, so it is unnecessary put in multi-threads

R

RejectedPutBufferHandler - io.geewit.snowflake.buffer中的接口
If tail catches the cursor it means that the ring buffer is full, any more buffer put request will be rejected.
RejectedTakeBufferHandler - io.geewit.snowflake.buffer中的接口
If cursor catches the tail it means that the ring buffer is empty, any more buffer take request will be rejected.
rejectPutBuffer(RingBuffer, long) - 接口 中的方法io.geewit.snowflake.buffer.RejectedPutBufferHandler
Reject put buffer request
rejectTakeBuffer(RingBuffer) - 接口 中的方法io.geewit.snowflake.buffer.RejectedTakeBufferHandler
Reject take buffer request
RingBuffer - io.geewit.snowflake.buffer中的类
Represents a ring buffer based on array.
RingBuffer(int) - 类 的构造器io.geewit.snowflake.buffer.RingBuffer
Constructor with buffer size, paddingFactor default as 50
RingBuffer(int, int) - 类 的构造器io.geewit.snowflake.buffer.RingBuffer
Constructor with buffer size & padding factor

S

seqBits - 类 中的变量io.geewit.snowflake.impl.DefaultUidGenerator
 
sequence - 类 中的变量io.geewit.snowflake.impl.DefaultUidGenerator
Volatile fields caused by nextId()
setBoostPower(int) - 类 中的方法io.geewit.snowflake.impl.CachedUidGenerator
Setters for spring property
setBufferPaddingExecutor(BufferPaddingExecutor) - 类 中的方法io.geewit.snowflake.buffer.RingBuffer
Setters
setDaemon(boolean) - 类 中的方法io.geewit.snowflake.utils.NamingThreadFactory
 
setEpochStr(String) - 类 中的方法io.geewit.snowflake.impl.DefaultUidGenerator
 
setName(String) - 类 中的方法io.geewit.snowflake.utils.NamingThreadFactory
 
setRejectedPutBufferHandler(RejectedPutBufferHandler) - 类 中的方法io.geewit.snowflake.impl.CachedUidGenerator
 
setRejectedPutHandler(RejectedPutBufferHandler) - 类 中的方法io.geewit.snowflake.buffer.RingBuffer
 
setRejectedTakeBufferHandler(RejectedTakeBufferHandler) - 类 中的方法io.geewit.snowflake.impl.CachedUidGenerator
 
setRejectedTakeHandler(RejectedTakeBufferHandler) - 类 中的方法io.geewit.snowflake.buffer.RingBuffer
 
setScheduleInterval(long) - 类 中的方法io.geewit.snowflake.buffer.BufferPaddingExecutor
Setters
setScheduleInterval(long) - 类 中的方法io.geewit.snowflake.impl.CachedUidGenerator
 
setSeqBits(int) - 类 中的方法io.geewit.snowflake.impl.DefaultUidGenerator
 
setTimeBits(int) - 类 中的方法io.geewit.snowflake.impl.DefaultUidGenerator
 
setUncaughtExceptionHandler(Thread.UncaughtExceptionHandler) - 类 中的方法io.geewit.snowflake.utils.NamingThreadFactory
 
setWorkerBits(int) - 类 中的方法io.geewit.snowflake.impl.DefaultUidGenerator
 
shutdown() - 类 中的方法io.geewit.snowflake.buffer.BufferPaddingExecutor
Shutdown executors
SnowFlake - io.geewit.snowflake中的类
twitter的snowflake算法 -- java实现
SnowFlake() - 类 的构造器io.geewit.snowflake.SnowFlake
 
start() - 类 中的方法io.geewit.snowflake.buffer.BufferPaddingExecutor
Start executors such as schedule
sumPaddingToPreventOptimization() - 类 中的方法io.geewit.snowflake.utils.PaddedAtomicLong
To prevent GC optimizations for cleaning unused padded references

T

take() - 类 中的方法io.geewit.snowflake.buffer.RingBuffer
Take an UID of the ring at the next cursor, this is a lock free operation by using atomic cursor Before getting the UID, we also check whether reach the padding threshold, the padding buffer operation will be triggered in another thread
If there is no more available UID to be taken, the specified RejectedTakeBufferHandler will be applied
timeBits - 类 中的变量io.geewit.snowflake.impl.DefaultUidGenerator
Bits allocate
toString() - 类 中的方法io.geewit.snowflake.BitsAllocator
 
toString() - 类 中的方法io.geewit.snowflake.buffer.RingBuffer
 
TOTAL_BITS - 类 中的静态变量io.geewit.snowflake.BitsAllocator
Total 64 bits

U

UidGenerateException - io.geewit.snowflake.exception中的异常错误
UidGenerateException
UidGenerateException() - 异常错误 的构造器io.geewit.snowflake.exception.UidGenerateException
Default constructor
UidGenerateException(String, Throwable) - 异常错误 的构造器io.geewit.snowflake.exception.UidGenerateException
Constructor with message & cause
UidGenerateException(String) - 异常错误 的构造器io.geewit.snowflake.exception.UidGenerateException
Constructor with message
UidGenerateException(String, Object...) - 异常错误 的构造器io.geewit.snowflake.exception.UidGenerateException
Constructor with message format
UidGenerateException(Throwable) - 异常错误 的构造器io.geewit.snowflake.exception.UidGenerateException
Constructor with cause
UidGenerator - io.geewit.snowflake中的接口
Represents a unique id generator.

V

value() - 枚举 中的方法io.geewit.snowflake.worker.WorkerNodeType
 
valueOf(String) - 枚举 中的静态方法io.geewit.snowflake.worker.WorkerNodeType
返回带有指定名称的该类型的枚举常量。
values() - 枚举 中的静态方法io.geewit.snowflake.worker.WorkerNodeType
按照声明该枚举类型的常量的顺序, 返回 包含这些常量的数组。

W

workerBits - 类 中的变量io.geewit.snowflake.impl.DefaultUidGenerator
 
workerId - 类 中的变量io.geewit.snowflake.impl.DefaultUidGenerator
 
WorkerNodeType - io.geewit.snowflake.worker中的枚举
WorkerNodeType CONTAINER: Such as Docker ACTUAL: Actual machine
A B C D E G I L N O P R S T U V W 
跳过导航链接