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

h5页面网站模板做网站设像素

h5页面网站模板,做网站设像素,义县城乡建设局网站,做网站app雪花算法是一种分布式唯一ID生成算法#xff0c;通过对时间戳、工作节点ID和序列号进行位运算和组合#xff0c;生成一个可排序且唯一的64位ID。 实现原理#xff1a; 首先#xff0c;我们需要定义算法中的参数#xff1a; 时间戳#xff1a;使用当前时间戳#xff0c;…雪花算法是一种分布式唯一ID生成算法通过对时间戳、工作节点ID和序列号进行位运算和组合生成一个可排序且唯一的64位ID。 实现原理 首先我们需要定义算法中的参数 时间戳使用当前时间戳精确到毫秒级别。工作节点ID用于区分不同的工作节点保证在分布式环境下生成的ID是唯一的。序列号每个工作节点上每毫秒生成的序列号用于解决并发生成ID时的顺序性问题。 在算法中我们使用一个64位的long型变量来表示生成的唯一ID。其结构如下所示 第1位固定为0保证生成的ID为正数。第2至42位表示时间戳共41位可表示2^41-1个毫秒值大约69年的时间。第43至47位表示工作节点ID共5位可表示最多32个不同的工作节点。第48至63位表示序列号共16位可表示最多2^16-1个不同的序列号。 在生成唯一ID的过程中需要注意以下几点 获取当前时间戳并与上一次生成ID的时间戳进行比较防止时间回拨导致生成重复ID。对并发生成ID的情况需要通过序列号来保证生成的ID的顺序性并避免冲突。如果当前时间戳与上一次生成ID的时间戳相同则需要增加序列号并重新计算时间戳直到下一毫秒开始。 最后将时间戳、工作节点ID和序列号进行位运算和组合生成最终的唯一ID。生成ID的过程可以保证在相同毫秒内、相同工作节点和序列号的情况下生成的ID是唯一的。 通过以上原理雪花算法可以在分布式环境中生成大量唯一ID并且保证ID的有序性和唯一性。在实际应用中可以根据具体需求调整参数的位数以满足不同场景下对ID的要求。 使用Java实现雪花算法生成16位数字的代码 public class SnowflakeAlgorithm {private long sequence 0L;private long lastTimestamp -1L;private final long workerIdBits 5L;private final long maxWorkerId -1L ^ (-1L workerIdBits);private final long sequenceBits 10L;private final long sequenceMask -1L ^ (-1L sequenceBits);private final long workerIdShift sequenceBits;private final long timestampLeftShift sequenceBits workerIdBits;private final long twepoch 1622505600000L;private final long workerId;public SnowflakeAlgorithm(long workerId) {if (workerId 0 || workerId maxWorkerId) {throw new IllegalArgumentException(Worker ID must be between 0 and maxWorkerId);}this.workerId workerId;}public synchronized long nextId() {long timestamp timeGen();if (timestamp lastTimestamp) {throw new RuntimeException(Clock moved backwards. Refusing to generate id for (lastTimestamp - timestamp) milliseconds.);}if (timestamp lastTimestamp) {sequence (sequence 1) sequenceMask;if (sequence 0) {timestamp tilNextMillis(lastTimestamp);}} else {sequence 0L;}lastTimestamp timestamp;return ((timestamp - twepoch) timestampLeftShift) |(workerId workerIdShift) |sequence;}private long tilNextMillis(long lastTimestamp) {long timestamp timeGen();while (timestamp lastTimestamp) {timestamp timeGen();}return timestamp;}private long timeGen() {return System.currentTimeMillis();} }public class Main {public static void main(String[] args) {SnowflakeAlgorithm snowflake new SnowflakeAlgorithm(1);for (int i 0; i 10; i) {long id snowflake.nextId();System.out.println(id);}} }
http://www.zqtcl.cn/news/375782/

相关文章:

  • 找能做网站的怎么查看网站备案号
  • 石嘴山北京网站建设h5网站建设
  • 滨州区建设局网站中国建行官网首页
  • 网站建设服务网站网站建设销售实习
  • 网站注册都需要什么给装修公司做推广的网站
  • me域名的网站wordpress 扩展字段
  • 新开三端互通传奇网站企业推广方式有哪些
  • 怎么制作网站页面做理论的网站
  • 哪家公司做跳转网站wordpress 网页缩放
  • 小说网站建设的支柱深圳建设发展集团有限公司
  • 陕西高速公路建设网站做网站不用编程
  • wordpress网站秒开网站建设设计理念
  • html5 网站模板永久免费的仓库管理软件
  • 贵州网站seo厦门网站设计多少钱
  • 哈市哪里网站做的好合作网站seo
  • 找苏州网站建设网站维护提醒php文件
  • 哪些网站做推广效果好与市场营销有关的网站
  • 有什么网站可以做设计赚钱吗专业vi设计公司哪家强
  • 一般的网站是由什么语言做的网站建设怎么问问题
  • 开源系统 网站阿里云虚拟主机网站
  • 摄影师作品网站网站怎么做搜素引擎
  • 做网站定金是多少钱开网站建设公司心得
  • 网站不备案怎么做网页淘宝客电子商务的网站建设的可用性
  • 傻瓜自助建站软件怎样进网站空间服务器
  • 黑龙江网站建站建设wordpress 邮件
  • 免费发布信息网站有哪些豆芽网站建设
  • 无锡做网站优化公司互动营销用在哪些推广上面
  • 每一个网站都是响应式吗销售渠道策略
  • 凡科平台网站怎么建设广州网站建设信科网络
  • 网站建设公司的服务特点seo实战密码电子书