UUID和雪花算法的区别
一、基本概念
UUID,即通用唯一标识符(Universally Unique Identifier),是由一组十六进制数字组成的标识符,可以用来在分布式系统中唯一地标识某个信息。UUID是一种用于多个计算机之间的唯一标识符,用于指示文件或数据库内的唯一对象。
/** * 生成UUID */ public static String generateUUID() { return UUID.randomUUID().toString().replace("-", ""); }
雪花算法,即Snowflake算法,是一种生成ID的算法,它可以保证在分布式系统中生成ID是唯一的。Snowflake算法的核心是一个64位的二进制数字,由以下三部分组成:
1、时间戳(42位):毫秒级时间戳,从开始使用此算法的时间点开始算起,在递增中产生,最大可用69年;
2、机器标识(10位):可以指定每个节点的ID从0-1023进行编号;
3、序列号(12位):同一毫秒级时间戳下,不同机器的序列号会依次递增,最多可以生成4096个ID。
/** * 雪花算法 * * @param dataCenterId 数据中心ID * @param workerId 工作机器ID * @return 分布式ID */ public long snowFlake(long dataCenterId, long workerId) { long timestamp = System.currentTimeMillis(); // 时间戳部分 long timeBits = timestamp - SNOW_FLAKE_EPOCH; // 数据中心ID部分 long dataCenterIdBits = dataCenterId
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)