专栏首页行者常至UUID long类型、String类型

UUID long类型、String类型

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/qwdafedv/article/details/100700293

package com.test.utils;

import java.util.Random;
import java.util.UUID;

 public  final class UIDUtil {
    private static  final int SHORT_MAX=65536;
    private static int counter=-1;
    private UIDUtil(){}
    /**
     * Creates a unique 64 bits ID by aggregating the current time in
     * milliseconds since epoch (Jan. 1, 1970) and using a 16 bits counter. The
     * counter is initialized at a random number. This generator can create up
     * to 65536 different id per millisecond.
     *
     * @return a new id.
     */
    public static synchronized long nextId() {
        long now = System.currentTimeMillis();
        if (counter == -1) {
            long seed = now ^ Thread.currentThread().getId();
            Random rnd = new Random(Long.hashCode(seed));
            counter = rnd.nextInt(SHORT_MAX);
        }
        long id = (now << 16) | counter;
        counter = (counter + 1) % SHORT_MAX;
        return id;
    }

    /**
     * generate uniq uuid
     * @return
     */
    public static synchronized String getUUID(){
        String s= UUID.randomUUID().toString();
        return s.substring(0,8)+s.substring(9,13)+s.substring(14,18)+s.substring(19,23)+s.substring(24);
    }

}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • -source 1.7 中不支持 lambda 表达式(请使用 -source 8 或更高版本以启用 lambda 表达式)

    qubianzhong
  • vim 常用命令

    qubianzhong
  • 数据库连接池简单连接

    模型      -----     Model 视图      -----     View 控制器  -----     Controller

    qubianzhong
  • CSS counter-increment计数器自动递增

    CSS计数器只能跟content属性在一起的时候才有作用,而content属性貌似专门用在before/after伪元素上的。于是,就有了,“计数器↔伪元素↔c...

    javascript.shop
  • 连仕彤博客[Python笔记] 判断0-9数字在字符串中出现的次数

    要求 给定一些数字(0-9范围之间),判断数字在字符串中出现的次数。 例子的排序是依照算法的效率(时间复杂度)从低到高 例子1   # 定义数字 num = ...

    行 者
  • WebRTC流媒体服务器-Janus的安装与布署

    说到WebRTC流媒体服务器就不得不提Janus。说实话我以前对这款流媒体服务器并没有进行特别深入的研究,不过2019年10月我有幸作为声网RTC大会 Work...

    音视频_李超
  • Typora设置标题自动添加序号

    Devops海洋的渔夫
  • 薛定谔的佛与深度学习中的因果

    作者:王庆法,中国东信CTO 【新智元导读】最近流行佛系XXX,殊不知深度学习里也有佛。本文是继《薛定谔的滚与深度学习中的物理》一文后,笔者又一心力之作。从神秘...

    新智元
  • 苹果推出新操作系统的隐私功能,屏蔽部分网站cookie

    苹果在今天凌晨的WWDC开发者大会上宣布它会屏蔽“赞”按钮的cookie,这种cookie可以让网站跟踪用户。

    FB客服
  • TensorFlow架构与设计:会话生命周期

    用户1737318

扫码关注云+社区

领取腾讯云代金券