zoukankan      html  css  js  c++  java
  • 集成hutool依赖,实现雪花算法工具类

    依赖导入

    <dependency>
        <groupId>cn.hutool</groupId>
        <artifactId>hutool-captcha</artifactId>
        <version>5.3.9</version>
    </dependency>
    

    SnowFlakeUtil工具类代码

    package com.myutil.id;
    
    import cn.hutool.core.lang.Snowflake;
    import cn.hutool.core.util.IdUtil;
    
    public class SnowFlakeUtil {
        private long machineId ;
        private long dataCenterId ;
    
    
        public SnowFlakeUtil(long machineId, long dataCenterId) {
            this.machineId = machineId;
            this.dataCenterId = dataCenterId;
        }
    
        /**
         * 成员类,SnowFlakeUtil的实例对象的保存域
         */
        private static class IdGenHolder {
            private static final SnowFlakeUtil instance = new SnowFlakeUtil();
        }
    
        /**
         * 外部调用获取SnowFlakeUtil的实例对象,确保不可变
         */
        public static SnowFlakeUtil get() {
            return IdGenHolder.instance;
        }
    
        /**
         * 初始化构造,无参构造有参函数,默认节点都是0
         */
        public SnowFlakeUtil() {
            this(0L, 0L);
        }
    
        private Snowflake snowflake = IdUtil.createSnowflake(machineId,dataCenterId);
    
        public synchronized long id(){
            return snowflake.nextId();
        }
    
        public static Long getId() {
            return SnowFlakeUtil.get().id();
        }
    
    }
    

    使用

    Long id = SnowFlakeUtil.getId();
    
  • 相关阅读:
    Linux下安装maven
    非连续性及反脆弱
    高手是怎么练成的
    思维型大脑
    编写文档五轮模式
    Nginx初识
    ida快捷键
    ida+gdb调试任意平台
    gcc常用命令使用
    ida调试ios应用
  • 原文地址:https://www.cnblogs.com/Wangddongyu235/p/13782391.html
Copyright © 2011-2022 走看看