1
0
mirror of synced 2026-02-17 10:27:55 +08:00

editreadme

This commit is contained in:
zhouzj
2021-03-13 23:10:42 +08:00
parent 3e2186a5ee
commit 7b4816e7c7
8 changed files with 166 additions and 341 deletions

View File

@@ -1,4 +1,76 @@
# idgenerator
something is going on.
## <20><><EFBFBD>л<EFBFBD><D0BB><EFBFBD>
JDK 1.8
## <20><><EFBFBD><EFBFBD> maven <20><>
```
```
## <20><><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>
```
// ȫ<>ֳ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WorkerId<49><64>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2^16-1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB>ֻ<EFBFBD><D6BB>һ<EFBFBD>Σ<EFBFBD><CEA3>ұ<EFBFBD><D2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD>
IdGeneratorOptions options = new IdGeneratorOptions();
options.WorkerId = 1;
IdHelper.setIdGenerator(options);
// <20><>ʼ<EFBFBD><CABC><EFBFBD>Ժ󣬾Ϳ<F3A3ACBE><CDBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ĵط<C4B5><D8B7><EFBFBD><EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID<49><44>
long newId = IdHelper.nextId();
```
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DI<EFBFBD><EFBFBD><EFBFBD>ܼ<EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բο<EFBFBD> IdHelper ȥ<><C8A5><EFBFBD><EFBFBD> IdGenerator <20><><EFBFBD>󣬱<EFBFBD><F3A3ACB1><EFBFBD>ʹ<EFBFBD><CAB9>**<2A><><EFBFBD><EFBFBD>**ģʽ<C4A3><CABD>
## options˵<73><CBB5>
```
/**
* ѩ<><D1A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3B7BD>
* <20><>1-Ư<><C6AF><EFBFBD>㷨|2-<2D><>ͳ<EFBFBD><EFBFBD><E3B7A8><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>1
*/
public short Method = 1;
/**
* <20><>ʼʱ<CABC><CAB1>
* <20><><EFBFBD>ܳ<EFBFBD><DCB3><EFBFBD><EFBFBD><EFBFBD>ǰϵͳʱ<CDB3><CAB1>
*/
public long StartTime = 0;
/**
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⲿϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>
* <20><> WorkerIdBitLength <20>й<EFBFBD>ϵ
*/
public short WorkerId = 0;
/**
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
* <20><>Χ<EFBFBD><CEA7>2-21<32><31>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>22<32><32><EFBFBD><EFBFBD>
* <20><><EFBFBD>Χ<E9B7B6><CEA7>6-12<31><32>
*/
public byte WorkerIdBitLength = 6;
/**
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
* <20><>Χ<EFBFBD><CEA7>2-21<32><31>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>22<32><32><EFBFBD><EFBFBD>
* <20><><EFBFBD>Χ<E9B7B6><CEA7>6-14<31><34>
*/
public byte SeqBitLength = 6;
/**
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <20><><EFBFBD><EFBFBD>SeqBitLength<74><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>
*/
public short MaxSeqNumber = 0;
/**
* <20><>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* Ĭ<><C4AC>11<31><31><EFBFBD><EFBFBD>С<EFBFBD><D0A1>5<EFBFBD><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MaxSeqNumber-2
*/
public short MinSeqNumber = 11;
/**
* <20><><EFBFBD><EFBFBD>Ư<EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* Ĭ<><C4AC>2000<30><30><EFBFBD>Ƽ<EFBFBD><C6BC><EFBFBD>Χ500-10000<30><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>йأ<D0B9>
*/
public short TopOverCostCount = 2000;
```

View File

@@ -17,6 +17,7 @@ public class IdGeneratorException extends RuntimeException {
public IdGeneratorException(Throwable cause) {
super(cause);
}
public IdGeneratorException(String message, Throwable cause) {
super(message, cause);
}

View File

@@ -9,6 +9,7 @@ package com.yitter.contract;
* 此处代码不采用 get/set 那种冗长的写法
*/
public class IdGeneratorOptions {
/**
* 雪花计算方法
* 1-漂移算法|2-传统算法默认1