Title
摘要: 时间部分生成后,下一步是机器信息,占10位。我们这里把机器信息分成两部分,一部分是数据中心id,占5位,一部分是机器id,占5位。这两个id可以在部署项目的时候根据不同的机器自定义不同的id,这样能人为的保障每个id都不同。比如: 也可以根据自己机器的情况自动生成,不过有很小很小的风险会重复,这个风 阅读全文
posted @ 2019-08-14 19:06 程序员郭艺宾 阅读(853) 评论(0) 推荐(0) 编辑
摘要: 前面的理论基础和位运算都了解了,下面我们来生成雪花算法的第一部分,也就是时间部分。时间部分的逻辑起始很简单,就是规定一个起始时间戳,然后用当前时间戳减去起始时间戳,这两个数的差就是我们要的结果。简单看一下代码逻辑: 我们规定的起始时间是 2015 01 01 00:00:00 ,然后获取当前时间,用 阅读全文
posted @ 2019-08-14 16:16 程序员郭艺宾 阅读(2954) 评论(0) 推荐(0) 编辑
摘要: 前面介绍了雪花算法的理论基础,可以对大概的算法有个了解,但是细节上可能还是模糊,下面来说一下雪花算法中用到的位运算。这里先介绍两个,一个是: 介绍一个例子比如有三个数字,分别打印出这三个数字的二进制形式: 可以看到,5对应的二进制就是101,8对应的2进制就是1000,10对应的二进制就是1010。 阅读全文
posted @ 2019-08-14 13:38 程序员郭艺宾 阅读(1245) 评论(0) 推荐(0) 编辑