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();
    
  • 相关阅读:
    Idea主题下载
    使用plsql创建用户并授权(图形化界面)
    PLSQL Developer 没有64位版本 + 找不到 msvcr71.dll
    NOIp2017TG解题报告
    Restart
    NOIp2018RP++
    其他题
    Errors
    NOIpDairy
    Code Style for OI
  • 原文地址:https://www.cnblogs.com/Wangddongyu235/p/13782391.html
Copyright © 2011-2022 走看看