雪花算法理论

编程入门 行业动态 更新时间:2024-10-21 18:42:39

雪花<a href=https://www.elefans.com/category/jswz/34/1770096.html style=算法理论"/>

雪花算法理论

      雪花算法生成的最终结果其实就是一个long类型的Java长整型数字,这是一个大前提!       生成一个long类型的数字id,其实就是对这64位的二进制形式里面填值,把这64位分成几个部分,彼此间互不影响,每部分都有自己的生成规则,这样在一定的简单的大前提下,能保证全局唯一。       先说第一位,long类型的数字是有符号的,第一位是0就是正数,1是负数,我们生成的id必然要正数,所以第一位可以确定为0不变。       剩下的63位分成三大部分!       第一部分占41位,用来表示时间,什么时间后面会详细介绍。       第二部分占10位,用来表示程序所在机器的信息。       第三部分占12位,填充的是一个序列,可以理解为递增数字,这样前面的时间和机器数字如果都一样的话,用序列的区别来生成不同的id。       上面的三大块信息转换成数字,填充到63位当中,基本可以保证任何时间任何机器生产的任何id不重复,可以推理出,时间和序列都是不可控的,但是机器信息是我们可以控制的,也就是说设置好机器信息是分布式id不重复的关键。

更多推荐

雪花算法理论

本文发布于:2024-02-27 13:31:47,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1706735.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:算法   雪花   理论

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!