import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.LockSupport;
/**
* 雪花算法
* @author guiJia
* @date 2021/6/3 18:45
*/
public class SnowFlakeFactory {
/**
* 起始的时间戳 2020-01-01 00:00:00 毫秒
*/
private final static long START_STMP = 1577808000000L;
/**
* 序列号占用的位数
*/
private final static long SEQUENCE_BIT = 12;
/**
* 机器标识占用的位数
*/
private final static long MACHINE_BIT = 5;
/**
* 数据中心占用的位数
*/
private final static long DATACENTER_BIT = 5;
/**
* 每一部分的最大值
* MAX_DATACENTER_NUM = 31
* MAX_MACHINE_NUM = 31
* MAX_SEQUENCE = 4095
*/
private final static long MAX_DATACENTER_NUM = -1L ^ (-1L << DATACENTER_BIT);
private final static long MAX_MACHINE_NUM = -1L ^ (-1L << MACHINE_BIT);
private final static long MAX_SEQUENCE = -1L ^ (-1L << SEQUENCE_B
java自定义雪花算法
于 2022-02-16 10:31:34 首次发布
本文详细介绍了如何在Java中自定义实现雪花算法,用于生成全局唯一ID,适用于大规模分布式系统中的数据标识。内容涵盖雪花算法的基本原理、代码实现以及在蓝桥杯比赛中的应用示例。

最低0.47元/天 解锁文章
2065

被折叠的 条评论
为什么被折叠?



