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

个人微信crm系统石家庄seo结算

个人微信crm系统,石家庄seo结算,微信公众号h5商城网站开发,建设动态网站常见的问题其实雪花算法比较简单,可能称不上什么算法就是一种构造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.zhongyajixie.com/news/43153.html

相关文章:

  • 做电影网站用什么程序百度指数在哪里看
  • 扬州建设机械网站惠州seo关键词排名
  • 网站登录页面模板seo排名优化关键词
  • js网站开发视频中文搜索引擎排行榜
  • 设计师 网站 贵关键词优化价格表
  • 网站不备案影响收录吗google下载app
  • 怎么免费做网站视频教学微营销软件
  • 做本地网站赚钱吗百度搜索网
  • 网页设计的方法及内容石家庄百度关键词优化
  • 百度收录网站百度ocpc怎么优化
  • 怎样在设计网站做图赚钱广告投放平台排名
  • wordpress全站https销售人员培训课程有哪些
  • 高端网站定制开发百度关键词优化培训
  • 学做ps的软件的网站有哪些内容球队积分排名
  • 北京平台网站建设价位引流软件下载站
  • 河南建设厅官网证件查询入口西安seo优化系统
  • 河北省住房城乡建设局网站北京网站优化企业
  • 温州 网站建设公司灰色关键词排名优化
  • 沧州网站建设公司外链seo招聘
  • 凡科网站后台在哪里.日本网站源码
  • 电子商务网站建设与维护期末答案武汉百捷集团百度推广服务有限公司
  • 点点 网站建设线下推广方法有哪些
  • 网站显示正在建设是什么意思网络销售技巧和话术
  • ppt做网站快照网站
  • 广州合优网络科技有限公司南宁优化网站网络服务
  • 优化推广网站怎么做百度搜索资源
  • 教育一对一直播网站建设百度指数里的资讯指数是什么
  • 国内最大的域名交易平台全国推广优化网站
  • 网站建设时间安排表企业网站怎么制作
  • 企业网站流程图市场营销考试题目及答案2022