【辰兮要努力】:hello你好我是辰兮,很高兴你能来阅读,昵称是希望自己能不断精进,向着优秀程序员前行!

博客来源于项目以及编程中遇到的问题总结,偶尔会有读书分享,我会陆续更新Java前端、后台、数据库、项目案例等相关知识点总结,感谢你的阅读和关注,希望我的博客能帮助到更多的人,分享获取新知,大家一起进步!

吾等采石之人,应怀大教堂之心,愿我们奔赴在各自的热爱里…

业务场景

在我们工作中经常会遇到按到当前时间生成对于的唯一编号

在这里插入图片描述

直接上案例吧:

在这里插入图片描述

适用场景: 并发量不能很高,比如商场系统订单号肯定不适合这样生成,仅仅一些管理系统比如提交表单,生成表单的唯一标识符合,这样的并发不高的业务场景可以使用


我这里已经将时间搓精确到很毫秒后几位了,如果还是不放心,可以再补充一个随机数

在这里插入图片描述

执行效果

根据当前时间戳生成唯一:202211041606590596
优化后-根据当前时间戳生成唯一:202211041606590596795

参考代码
import java.text.SimpleDateFormat;

public class TestDemo {

    public static void main(String[] args) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSSS");
        String number = sdf.format(System.currentTimeMillis());//202211041552160219
        System.out.println("根据当前时间戳生成唯一:"+number);
        //补充一个三位随机数
        int x=(int)(Math.random()*900)+100;
        String serialNumber = number + x;
        System.out.println("优化后-根据当前时间戳生成唯一:"+serialNumber);
    }
    
}

我们未来见……


📣非常感谢你阅读到这里,如果这篇文章对你有帮助,希望能留下你的点赞👍 关注❤️ 分享👥 留言💬thanks!!!

📚愿我们奔赴在各自的热爱里!

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐