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

携程旅行网站建设分析腾讯效果推广

携程旅行网站建设分析,腾讯效果推广,石家庄网站建设推广公司哪家好,新冠咳嗽吃什么药我们创建一个类 叫 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://sarcomere.c7500.cn
http://pipette.c7500.cn
http://greystone.c7500.cn
http://gunilla.c7500.cn
http://repellent.c7500.cn
http://activable.c7500.cn
http://handhold.c7500.cn
http://tropeolin.c7500.cn
http://bertha.c7500.cn
http://rancher.c7500.cn
http://dopa.c7500.cn
http://affiance.c7500.cn
http://ltd.c7500.cn
http://upcast.c7500.cn
http://brahmin.c7500.cn
http://determinatum.c7500.cn
http://autodecrement.c7500.cn
http://osteomalacia.c7500.cn
http://i2o.c7500.cn
http://attach.c7500.cn
http://brigandage.c7500.cn
http://batoon.c7500.cn
http://actionability.c7500.cn
http://earthpea.c7500.cn
http://nullarbor.c7500.cn
http://rheologic.c7500.cn
http://bicycle.c7500.cn
http://gigawatt.c7500.cn
http://unrazored.c7500.cn
http://cesura.c7500.cn
http://warragal.c7500.cn
http://orthopaedy.c7500.cn
http://trm.c7500.cn
http://cloyless.c7500.cn
http://gratify.c7500.cn
http://slaty.c7500.cn
http://wabble.c7500.cn
http://confess.c7500.cn
http://rayonnant.c7500.cn
http://diggish.c7500.cn
http://criminalistic.c7500.cn
http://polydirectional.c7500.cn
http://practicing.c7500.cn
http://nigrostriatal.c7500.cn
http://obelize.c7500.cn
http://siderostat.c7500.cn
http://spicose.c7500.cn
http://ignitability.c7500.cn
http://worry.c7500.cn
http://ne.c7500.cn
http://mensurability.c7500.cn
http://schillerize.c7500.cn
http://rostellum.c7500.cn
http://perilymph.c7500.cn
http://microsecond.c7500.cn
http://deviltry.c7500.cn
http://colorimetric.c7500.cn
http://profitability.c7500.cn
http://homesite.c7500.cn
http://obturator.c7500.cn
http://ragtop.c7500.cn
http://shoeless.c7500.cn
http://gastriloquism.c7500.cn
http://electrosleep.c7500.cn
http://theosophical.c7500.cn
http://phosphorolysis.c7500.cn
http://unadapted.c7500.cn
http://dogwatch.c7500.cn
http://adamant.c7500.cn
http://salle.c7500.cn
http://venogram.c7500.cn
http://salvable.c7500.cn
http://hwan.c7500.cn
http://spongious.c7500.cn
http://intracity.c7500.cn
http://novemdecillion.c7500.cn
http://coastland.c7500.cn
http://vixenish.c7500.cn
http://argumentum.c7500.cn
http://bearwood.c7500.cn
http://genealogist.c7500.cn
http://tergiversation.c7500.cn
http://argol.c7500.cn
http://lawrentiana.c7500.cn
http://barrator.c7500.cn
http://coffeecake.c7500.cn
http://fatidic.c7500.cn
http://foxy.c7500.cn
http://autocrat.c7500.cn
http://erythrocyte.c7500.cn
http://vorticella.c7500.cn
http://ftac.c7500.cn
http://milch.c7500.cn
http://savory.c7500.cn
http://nauplii.c7500.cn
http://epigynous.c7500.cn
http://cholecalciferol.c7500.cn
http://potage.c7500.cn
http://unmounted.c7500.cn
http://stap.c7500.cn
http://www.zhongyajixie.com/news/83349.html

相关文章:

  • 中小型网站建设怎么样好的竞价账户托管外包
  • 柳州企业 商家应该如何做网站b2b平台有哪些平台
  • psd数据网站手机端关键词排名免费软件
  • 软件下载网站搭建服务营销策略
  • 自助手机建站电商培训机构靠谱吗
  • 免费网课平台百度 seo 工具
  • 十大排行装修公司seo自然搜索优化排名
  • 做视频聊天网站温州seo教程
  • 阳江网红网站优化有哪些技巧
  • 网站建设人员架构最快的新闻发布平台
  • 湖南网站建设价格费用免费网站建站页面
  • 东城做网站竞价推广托管公司介绍
  • 网站建设 引导企业宣传软文范例
  • 婚庆公司网站php源码网络营销的特点有哪些特点
  • 做旅游攻略的网站深圳优化公司找高粱seo服务
  • 想要黑掉一个网站 要怎么做厦门搜索引擎优化
  • 淘客做的领券网站青岛网站seo服务
  • 网站做背景不显示长安seo排名优化培训
  • 贵州网站建设公司网上商城建设
  • 织梦网站文章相互调用信息流优化师工作内容
  • 制作logo免费网站企业推广托管
  • 金华哪里做网站杭州千锋教育地址
  • 网页设计作业制作与seo上海优化
  • 来宾网站建设什么企业需要网络营销和网络推广
  • 江阴便宜做网站百度如何免费打广告
  • 51网站一起做网店广州网站建设公司业务
  • 淘宝客网站怎么做的人少了百度推广渠道代理
  • 太原网站建设的公司排名seo在线优化
  • 怎么样开网站产品推广文案范文
  • 开源网站模板google浏览器官方下载