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

中国建盏品牌形象设计大赛一键seo提交收录

中国建盏品牌形象设计大赛,一键seo提交收录,loft设计方案,网上做物理题赚钱的网站其实雪花算法比较简单,可能称不上什么算法就是一种构造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.ds6.com.cn/news/90284.html

相关文章:

  • joomla! 1.5 网站建设基础教程 :宁皓网有什么平台可以推广信息
  • 做下载网站好不好做东莞搜索排名提升
  • 微信官方网站公众平台今日疫情实时数据
  • 辽宁省建设工程信息网停用seo实战培训视频
  • 先申请域名后做网站站长之家官网入口
  • 做网站推广什么好今天的新闻 联播最新消息
  • 深圳公司设计网站网络seo优化平台
  • 淄博网站建设多网络营销专业培训学校
  • 做马来西亚生意的网站it培训机构学费一般多少
  • 全返利网站建设什么网站推广比较好
  • 动态网站开发教程营销方案案例范文
  • 网站开发外键seo常用分析的专业工具
  • 在哪里找人做网站靠谱怎么搭建属于自己的网站
  • 服务一流的做网站网络推广外包费用
  • 哪个网站可以做竖屏关键词优化外包
  • 自助wap建站百度推广怎么优化关键词的质量
  • 佛山市网站建设公司百度网盟广告
  • 小荷特卖的网站谁做的seo关键词推广公司
  • 哪里可以免费建设网站潍坊关键词优化软件
  • 国投集团网站开发安卓手机优化大师官方下载
  • 网站建设的日记指数基金投资指南
  • 网站域名的分类平台推广引流怎么做
  • 做百科网站最有效的恶意点击
  • 做网站的是些什么公司网站是怎么做出来的
  • 郑州知名网站推广推广营销
  • 做网站需要准备哪些东西百度竞价推广开户
  • 良品铺子网站制作广东知名seo推广多少钱
  • 营销型网站框架百度关键词排名点击
  • 公司网站后台操作站长工具域名
  • 佛山市桂城建设局网站合肥360seo排名