
最初完成了雪花算法后java制作雪花java制作雪花,我们讨论了几位操作的编写. 每个人都知道,一旦确定了雪花算法,就会固定许多数字,例如机器占用了多少位或向左移动了多少时间. 这些是确定算法的特定逻辑之后,将不会更改. 那么写最终数字和用位运算来计算它有什么区别?
实际上,没有区别. 我们的程序分为编译时间和运行时间. 我们直接编译程序,然后检查类文件,发现两种方法的编译结果相同. 使用位算术运算仅更加灵活. 定义许多无效数字也很容易写错,以后的维护也很混乱. 因此,这里是最终版本,首先看一下基本常量定义:
然后查看时间部分的常量:

查看机器信息的常量:
最后看一下序列的常量定义(以毫秒为单位):
在上述常量中,只要修改前四个部分的长度,以下所有常量都会被自动修改.

再次查看主程序:
请注意序列在统一毫秒内的变化. 其他辅助方法未更改,将不再讨论. 现在,让我们看一下编译后生成的类文件:
您可以看到编译后的文件实际上定义了无效常量. 包括主程序:

这是雪花算法的最终版本! !! !!
最后,为了测试效率,让我们生成300万个ID,并查看需要花费多少时间:
代码地址: 07

文章来源:segmentfault,作者:郭艺宾。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:william.shi#ucloud.cn(邮箱中#请改为@)进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。

背景-系统设置-扩展变量-移动广告空间-内容主体底部
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/shouji/article-154223-1.html
但你式式都就能改变你在股市的命运