当前位置: 首页 > news >正文

西安小程序建设公司青岛seo网络优化公司

西安小程序建设公司,青岛seo网络优化公司,做网站原价商品打个横线,软件推广代理我们创建一个类 叫 SnowflakeIdGenerator 作为生成雪花id的工具类 然后 编写代码如下 public class SnowflakeIdGenerator {private static final long START_TIMESTAMP 1609459200000L; // 设置起始时间戳,可以根据需要进行调整private static final long WORKER…

我们创建一个类 叫 SnowflakeIdGenerator 作为生成雪花id的工具类
然后 编写代码如下

public class SnowflakeIdGenerator {private static final long START_TIMESTAMP = 1609459200000L; // 设置起始时间戳,可以根据需要进行调整private static final long WORKER_ID_BITS = 5L; // 机器ID所占位数private static final long DATACENTER_ID_BITS = 5L; // 数据中心ID所占位数private static final long SEQUENCE_BITS = 12L; // 序列号所占位数private static final long MAX_WORKER_ID = ~(-1L << WORKER_ID_BITS); // 机器ID的最大值private static final long MAX_DATACENTER_ID = ~(-1L << DATACENTER_ID_BITS); // 数据中心ID的最大值private static final long WORKER_ID_SHIFT = SEQUENCE_BITS; // 机器ID的位移量private static final long DATACENTER_ID_SHIFT = SEQUENCE_BITS + WORKER_ID_BITS; // 数据中心ID的位移量private static final long TIMESTAMP_LEFT_SHIFT = SEQUENCE_BITS + WORKER_ID_BITS + DATACENTER_ID_BITS; // 时间戳的位移量private static final long SEQUENCE_MASK = ~(-1L << SEQUENCE_BITS); // 序列号的屏蔽位private final long workerId; // 机器IDprivate final long datacenterId; // 数据中心IDprivate long lastTimestamp = -1L; // 上次生成ID的时间戳private long sequence = 0L; // 序列号public SnowflakeIdGenerator(long workerId, long datacenterId) {if (workerId > MAX_WORKER_ID || workerId < 0) {throw new IllegalArgumentException("Worker ID 超出范围");}if (datacenterId > MAX_DATACENTER_ID || datacenterId < 0) {throw new IllegalArgumentException("数据中心 ID 超出范围");}this.workerId = workerId;this.datacenterId = datacenterId;}public synchronized long nextId() {long timestamp = System.currentTimeMillis();if (timestamp < lastTimestamp) {throw new RuntimeException("系统时间不正确");}if (timestamp == lastTimestamp) {sequence = (sequence + 1) & SEQUENCE_MASK;if (sequence == 0) {timestamp = tilNextMillis(lastTimestamp);}} else {sequence = 0L;}lastTimestamp = timestamp;return ((timestamp - START_TIMESTAMP) << TIMESTAMP_LEFT_SHIFT) |(datacenterId << DATACENTER_ID_SHIFT) |(workerId << WORKER_ID_SHIFT) |sequence;}private long tilNextMillis(long lastTimestamp) {long timestamp = System.currentTimeMillis();while (timestamp <= lastTimestamp) {timestamp = System.currentTimeMillis();}return timestamp;}
}

然后 只需要在其他类中调用他 获取id即可

SnowflakeIdGenerator idGenerator = new SnowflakeIdGenerator(1, 1);
long id = idGenerator.nextId();
System.out.println("新的雪花ID:" + id);

这里 我们直接new了一个SnowflakeIdGenerator类的实例
然后 通过nextId获取一个雪花id
运行结果如下
在这里插入图片描述
也是没有任何问题

http://www.shuangfujiaoyu.com/news/22041.html

相关文章:

  • asp.net 4.0网站建设基础教程营销比较成功的品牌
  • 伊犁网站建设评价佛山网站优化软件
  • php购物网站搜索栏怎么做优化大师windows
  • 网站建设的 关键词seo是做什么工作的
  • 制作网站支付方式百度网站排名规则
  • 甘肃公司网站建设哪家好seo白帽优化
  • wordpress 手机维修抖音seo怎么做
  • 沈阳网站建设专业公司潍坊自动seo
  • 怎么开彩票网站做站长长春网络推广优化
  • 成都微网站公司个人介绍网页制作
  • 哪家网站建设服务好啊搜索引擎优化包括哪些
  • 抵押网站建设方案宁波网站建设推广平台
  • 怎做连接网站网站媒体推广方案
  • 求推荐比较靠谱的代做毕设网站推广引流平台
  • 17网站一起做网店池尾短视频营销策略有哪些
  • 加强网站备案管理专项行动外链购买交易平台
  • 做网站一般都选哪家行者seo无敌
  • 北京市网站公安备案查询系统有趣软文广告经典案例
  • 现在web开发用什么技术seo的方式有哪些
  • 西昌城乡建设网站seo排名优化哪家好
  • 网站可信认证必做樱花12e56
  • 找不同 网站开发北京aso优化
  • 素材网站pinterestseo排名优化软件价格
  • 中国小康建设官方网站google浏览器下载安装
  • 合肥那家公司做网站赛雷猴是什么意思
  • 个人网站怎么制作成图片郑州网站推广优化
  • 做房产经纪的那些网站可以进客小红书推广策略
  • 网站建设方案选公司google网站入口
  • 怎么注册晋江网站做的什么是网络营销策略
  • 优秀网站大全怎么在百度发布自己的文章