`
fatherican
  • 浏览: 54783 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

java中唯一数的生成

 
阅读更多

唯一数的生成很简单,基本上以时间为基础进行生成。在JDK里面已经有java.util.UUID类可以生成唯一的随机数。如果希望生成的唯一数为特定的格式,那么就需要自己来生成唯一数了。生成唯一数时有两个因素是必须在考虑的:

  1. 必须保证唯一,这个一般以时间为基础进行变化。
  2. 高效,当然越高效越好。

有时我们希望在生成的唯一数中包含特定的内容,如把当前时间,如20110609132641,作为前缀等。以下片段供参考:

    public class UID {  
      private static Date date = new Date();  
      private static StringBuilder buf = new StringBuilder();  
      private static int seq = 0;  
      private static final int ROTATION = 99999;  
      public static synchronized long next(){  
        if (seq > ROTATION) seq = 0;  
        buf.delete(0, buf.length());  
        date.setTime(System.currentTimeMillis());  
        String str = String.format("%1$tY%1$tm%1$td%1$tk%1$tM%1$tS%2$05d", date, seq++);  
        return Long.parseLong(str);  
      }  
    }  


分享到:
评论

相关推荐

    java版本生成唯一编号的程序

    java版的生成唯一编号的一个小程序

    官方Java端口的Sqids生成短唯一的id从数字.zip

    在Java项目中,可以轻松集成这个库,以生成高性能且易于存储和传输的唯一标识符。 8. **性能优化** 为了提高性能,Sqids的Java实现可能使用了多线程和内存缓存等技术。同时,它可能还实现了高效的数据结构和算法,...

    唯一编号生成器.java

    唯一编号生成器.java

    java语言生成唯一ID的方法

    在Java开发过程中,经常需要为数据对象生成唯一的标识符(ID),以便于数据管理、追踪等操作。本文将详细解析一个具体的Java类——`UniqId`,它用于生成唯一ID。该类通过结合当前时间戳、随机数、主机地址及线程ID来...

    java根据时间生成唯一ID

    java根据时间生成唯一ID,普通的根据时间生成的ID放在循环内很容易重复。

    JAVA版本的生成唯一编号

    * 获得序列号,同时更新持久化存储中的序列 * @param current 当前的日期 * @param start 初始化的序号 * @return 所获得新的序列号 */ protected abstract int getOrUpdateNumber(Date current, int start);

    java生成UUID通用唯一识别码.docx

    Java中的UUID(Universally Unique Identifier)是一种用于生成全局唯一标识符的标准,由开源软件基金会(OSF)在分布式计算环境中提出。UUID的主要目的是确保在分布式系统中的任何元素都有其独特的识别信息,无需...

    java生成唯一id(uuid)(不依赖jdk5,自己实现的)

    在Java编程中,生成唯一的ID(Universal Unique Identifier,UUID)是一项常见的需求,特别是在数据库记录、分布式系统中的对象标识等方面。UUID是一种128位的数字,通常以32个字符的16进制形式表示,确保在全球范围...

    java生成唯一索引,Long型,区别uuid

    java生成唯一索引,Long型,区别uuid

    Java邀请码生成工具类

    超级简单的Java邀请码生成器,输入一个数值类型生成一个6位的0-Z的邀请码,并且邀请码可以反向解析成数值! 非常好用,生成和反向生成的方法已经封装好了 超级简单

    java数据库唯一id生成工具类

    Java数据库唯一ID生成工具类是指能够生成唯一的ID号码的Java工具类,主要用于解决数据库中ID的唯一性问题。本工具类通过使用JdbcTemplate对数据库进行操作,生成的ID号码具有唯一性和随机性。 1. 工具类的组成 ...

    唯一解数独 生成算法 java

    在Java编程语言中实现唯一解数独的生成算法是一项挑战,涉及到深度优先搜索(DFS)、回溯等技术。 ### 数独生成算法原理 1. **挖洞思想**:数独生成过程中,通常采用“挖洞”策略。即从一个已填充好的完整数独开始...

    Springboot唯一编号整合,vesta全局唯一id生成器

    SpringBoot作为一个轻量级的Java开发框架,广泛应用于微服务架构,而Vesta ID Generator则是一个专门用于生成全局唯一ID的工具,尤其适合在高并发、高可用的环境中使用。本篇将详细讲解如何在SpringBoot项目中整合...

    JAVA自带的方法生成唯一ID

    java中有自带的方法可以自动帮助我们实现id的获取,可以作为稳定的工具类。可自定义。

    java生成16位随机数

    java生成16位随机数

    java 获取分布式唯一ID.雪花ID

    在Java开发中,生成分布式唯一ID是常见的需求,特别是在大数据量和高并发的场景下,保证每个记录的ID独特性至关重要。雪花ID(Snowflake ID)是一种被广泛采用的解决方案,由Twitter开源,其设计目标就是生成全局...

    随机生成11位数字

    根据给定的信息,我们可以深入探讨如何在编程环境中生成指定长度的随机数字字符串,尤其是在Java环境中。这不仅是IT领域中常见的需求之一,也是许多应用程序开发过程中不可或缺的一部分。下面将详细介绍如何理解并...

    唯一uuidid生成器

    在实际项目中,开发者可能会选择这样的库来代替标准的Java UUID生成,以便更好地满足项目特定的需求,比如在分布式系统中保持全局唯一性,同时提高生成ID的速度。 在使用Vesta-ID-Generator之前,开发者需要了解其...

    利用时间生成8位不重复数

    在IT开发领域,生成不重复的编号或标识符是一个常见的需求,特别是在数据库记录、订单号、唯一用户ID等场景。为了满足这一需求,开发者经常利用系统时间作为基础,结合其他算法来生成这样的唯一序列。标题提到的...

    java生成8位UUID

    java 生成8位UUID,解决UUID2太长的问题,欢迎下载。后续代码,陆续放出

Global site tag (gtag.js) - Google Analytics