首页 > 其他 > 详细

tinyId源码研究笔记

时间:2019-04-03 22:11:14      阅读:129      评论:0      收藏:0      [点我收藏+]

但凡看github上的开源项目,必有所获,

之前我一直想看那种大型高端项目的源码,但是一方面原理复杂,跟踪困难,另一方面也是自身水平达不到,就如那品茶,没有那个底蕴,再怎么品那也是牛嚼牡丹,暴殄天物.

于是我就决定从一个功能较单一的小项目开始着手.

因为现在我们公司的id生成器是利用雪花算法保证的 所以我就想研究一下id生成器相关的项目

找来找去,就找到了tinyid.

果然受益匪浅!

刚开始看没多久,就发现了一个自己没用过的类,AtomicLong.

查了一下,原来是为了保证原子性.

在32位操作系统中,64位的long 和 double 变量由于会被JVM当作两个分离的32位来进行操作,所以不具有原子性。而使用AtomicLong能让long的操作保持原子型。

未完待续

tinyId源码研究笔记

原文:https://www.cnblogs.com/tyoutetu/p/10651856.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!