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

设计logo网站是平面设计不在线页面设计工具

设计logo网站是平面设计不,在线页面设计工具,淘宝做基础销量怎么网站,做百度移动网站优化排其实雪花算法比较简单,可能称不上什么算法就是一种构造UID的方法。 点1:UID是一个long类型的41位时间戳,10位存储机器码,12位存储序列号。 点2:时间戳的单位是毫秒,可以同时链接1024台机器,每台…

其实雪花算法比较简单,可能称不上什么算法就是一种构造UID的方法。
点1:UID是一个long类型的41位时间戳,10位存储机器码,12位存储序列号。
点2:时间戳的单位是毫秒,可以同时链接1024台机器,每台机器每毫秒可以使用4096个序列好,我们会给生成id上一个同步锁,阻塞住其他线程的访问。
点3:利用掩码我们可以检测序列是否溢出,如果溢出的话,就强制等待到下一毫秒。


/*** @author hardstone* @since 29 July 2023(1690603385473)*/
public class SnowFlakes {//开始的时间戳private final  long start = 1690603385473L;//机器标识长度5位private final long machineIdBits = 5L;//机器集群标识长度5位private final long centerIdBits = 5L;//序列标识所占位数12位private final long sequenceBits = 12L;//机器标识最大值private final long maxMachineId = -1L ^ (-1L << machineIdBits);//机器集群标识最大值private final long maxCenterId = -1L ^ (-1L << centerIdBits);//序列标识的最大值private final long sequenceMask = -1L ^ (-1L << sequenceBits);//机器标识左移长度private final long machineIdShift = sequenceBits;//机器集群标识左移长度private final long centerIdShift = sequenceBits + machineIdBits;//时间戳左移长度private final long timeStampIdShift = sequenceBits + machineIdBits + centerIdBits;//序列Idprivate long sequence = 0L;//机器Idprivate long machineId;//机器集群Idprivate long centerId;//时间戳private long lastTimeStamp = -1L;public SnowFlakes(long machineId, long centerId) {if (machineId > maxMachineId || machineId < 0) {throw new IllegalArgumentException(String.format("WorkerId should be between 0 and 31"));}if (centerId > maxCenterId || centerId < 0) {throw new IllegalArgumentException(String.format("CenterId should be between 0 and 31"));}}public synchronized long nextId() {long timeStamp = System.currentTimeMillis();//时间回滚现象if (timeStamp < lastTimeStamp) {throw new RuntimeException(String.format("Time gone backwards!"));}if (lastTimeStamp == timeStamp) {sequence = (sequence + 1) & sequenceMask;//如果序列分配完了if (sequence == 0) {timeStamp = getNextMillis(lastTimeStamp);}} else {sequence = 0L;}lastTimeStamp = timeStamp;return ((timeStamp - start) << timeStampIdShift)| (centerId << centerIdShift)| (machineId << machineIdShift)| sequence;}protected long getNextMillis(long lastTimeStamp) {long timeStamp = System.currentTimeMillis();while (timeStamp <= lastTimeStamp) {timeStamp = System.currentTimeMillis();}return timeStamp;}public static void main(String[] args) {System.out.println(new SnowFlakes(0, 0).nextId());}
}
http://www.yayakq.cn/news/12445/

相关文章:

  • 网站建设原则五大原则怎么给公司注册网站
  • 中国住房和城乡建设部网站造价师注册360免费wifi创建失败怎么回事
  • 免费论坛网站建设淘宝客网站源码加各类插件
  • 网站建设推广ppt佛山建站公司哪家好
  • 迈肯奇迹做网站wordpress 访客插件
  • 淘宝客网站跳转单品电脑上怎么做网页
  • 生鲜网站模板免费网站建设作业总结
  • 工信部备案网站查个人适合建什么网站
  • 桂林建设网站公司数据库网站建设多少钱
  • 学习php网站开发怎么样wordpress 执行效率
  • 网站开发新手什么软件好开发软件的公司叫什么
  • 上海景观设计公司排行长沙官网seo推广
  • 东莞网站推广哪里找书画网站源码
  • 湖北手机网站建设深圳物流网站建设
  • 湖南营销型网站建设 皆来磐石网络做网站生意越来越差
  • iis5.1怎么发布网站做淘宝差不多的网站
  • seo站点网站生成软件
  • 兰州企业网站建设哪家好wordpress 好用主题
  • 点开图片跳到网站怎么做品牌策划与推广
  • 网站图片上传功能怎么做的上海网站建设y021
  • 网页制作工具的选择与网站整体风格是有关系吗wordpress删除修订版本
  • 做的好的营销型网站有哪些内容医院网站 整站源码
  • 汝南网站建设长沙网站制作有哪些公司
  • 做外贸企业网站要注意哪些淘宝官网首页网站
  • wordpress短信回复从建站到网络优化
  • 网站过程中遇到问题WordPress 将您重定向的次数过多
  • 企业网站建设开发多少钱wordpress joomla 菜单
  • 济南网站制作报价龙泉驿网站建设
  • 如何做外贸soho做网站o2o网站建设计划书
  • 网站大致内容用云做网站