流水号格式为yyyyMMddXXXX,规定每天只能到9999,代码如下:

01

import java.text.DecimalFormat;

02

import java.text.SimpleDateFormat;

03

import java.util.Date;

04

05

public class PrimaryGenerater {

06

07

private static final String SERIAL_NUMBER = "XXXX"; // 流水号格式

08

private static PrimaryGenerater primaryGenerater = null;

09

10

private PrimaryGenerater() {

11

}

12

13

/**

14

* 取得PrimaryGenerater的单例实现

15

*

16

* @return

17

*/

18

public static PrimaryGenerater getInstance() {

19

if (primaryGenerater == null) {

20

synchronized (PrimaryGenerater.class) {

21

if (primaryGenerater == null) {

22

primaryGenerater = new PrimaryGenerater();

23

}

24

}

25

}

26

return primaryGenerater;

27

}

28

29

/**

30

* 生成下一个编号

31

*/

32

public synchronized String geneterNextNumber(String sno) {

33

String id = null;

34

Date date = new Date();

35

SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");

36

if (sno == null) {

37

id = formatter.format(date) + "0001";

38

} else {

39

int count = SERIAL_NUMBER.length();

40

StringBuilder sb = new StringBuilder();

41

for (int i = 0; i < count; i++) {

42

sb.append("0");

43

}

44

DecimalFormat df = new DecimalFormat("0000");

45

id = formatter.format(date)

46

+ df.format(1 + Integer.parseInt(sno.substring(8, 12)));

47

}

48

return id;

49

}

50

}

后面个人有所改善,未上传

java 唯一流水号_JAVA流水号生成规格,采用同步单例生成,保证永远唯一相关推荐

  1. java 构造函数 单例_Java中的私有构造函数和单例类 - Break易站

    Java 构造函数 Java中的私有构造函数和单例类 我们首先分析下面的问题: 我们可以有私人构造函数吗? 正如你可以很容易猜到的,就像我们可以为构造函数提供访问说明符一样.如果它是私人的,那么它只能 ...

  2. java中饿汉与懒汉的故事(单例设计模式)

    java中的单例设计模式 关于设计模式,这其实是单独存在的东西,它不属于java,但是在java中使用较多,所以今天我就给大家介绍下单例设计模式中的饿汉和懒汉这俩朴素的打工人. 首先我先说明下单例设计 ...

  3. java随机数语句_Java语言程序设计(七)Math类生成随机数及if语句

    Java有几种类型的选择语句,单向if语句,双向if语句,嵌套if语句,switch语句和条件表达式. 1.单向if语句 if(radius>=0){ area = radius*radius* ...

  4. java webservice 证书_java调用基于https的webservice(不生成密钥,基于spring配置,接收所有证书)...

    我的blog:个人博客 最近工作需要调用外部的webservice,之前一直搞的是基于http的ws,没啥好说的 网上很多教程.这次对方提供的接口是基于https的接口,在网上查找都是需要生成密钥,安 ...

  5. java 进程同步代码_java 实现进程间的同步(源代码)

    操作系统课程设计:实现进程间的同步. 有问题留言 import java.util.concurrent.Semaphore; /******** 信号量 *******/ class Sign { ...

  6. java切割输入流_java IO流之文件切割两例(含Properties 用法)

    package cn.itcast.io.p1.splitfile; import java.io.File; import java.io.FileInputStream; import java. ...

  7. java list翻转_JAVA实现两种方法反转单列表

    /***@authorluochengcheng * 定义一个单链表*/ classNode {//变量 private intrecord;//指向下一个对象 privateNode nextNod ...

  8. java sleep 失效_java:Thread.sleep()导致同步失效

    我测试的一个关于synchronize关键字的例子,如下当我为静态方法inc()加入syn关键字的时候,如果我把Thread.sleep()注释掉,同步效果发生作用,main方法输出了正确的结果100 ...

  9. java sql 引号_java拼接sql语句里的单双引号

    一.场景描述 平时在用字符串拼接sql语句的时候,有没有遇到过下面的情况: 没错,就是单双引号问题.其实,关于双引号我们是容易理解的,sql语句是用String字符串拼接的,因此需要用到双引号.但是为 ...

最新文章

  1. 输入框中默认的值,判断是否输入内容
  2. Node的Web应用框架Express的简介与搭建HelloWorld
  3. 从三个数组中选择满足条件的三个数
  4. oracle until freed,ORA-00257: archiver error. Connect internal only, until freed 错误的处理方法...
  5. 关于servlet类,继承HttpServlet,但是无法导入HttpServlet包的原因和解决方法
  6. 计算机主机异常经常蓝屏,计算机频繁发生蓝屏怎么解决
  7. win11系统通知怎么取消 Windows11取消系统通知的步骤方法
  8. pandas不显示index_pandas层级索引
  9. (完美)华为畅玩7A AUM-AL00的Usb调试模式在哪里打开的步骤
  10. 四川大学计算机绘图cad网站,计算机绘图: Auto CAD版
  11. 利用Fiddler下载旧版本 iOS App
  12. 学习Linux Bridge与利用Bridge创建虚拟网络
  13. windows操作系统未关闭默认共享
  14. 定量分析双花(双重支付)问题
  15. ARM服务器获取cpu信息,HPUX 查看系统信息(CPU,主机型号,物理内存等)
  16. T三说茶丨教你分辨头采茶、头春茶、明前茶、雨前茶!
  17. 解不等式之调和级数不等式
  18. 如何写一封稍微像样的求职邮件
  19. Python中的函数及Python字符串中提取字母、数字
  20. 微信的那个老外产品经理又写了一篇《中国移动应用设计趋势》

热门文章

  1. Exchange Server 2016 独立部署/共存部署 (八)—— 边缘角色服务器
  2. 一步步实现SDDC-Edge与动态路由实现
  3. Java设计模式学习总结(8)——结构型模式之桥接模式
  4. sqlite 可视化_知乎人均985?Python爬50W数据,BI做出可视化后,我有了答案
  5. html怎样获取用户手机号码,小程序如何获取用户手机号?
  6. mysql简单指令_Mysql基本指令
  7. 如何在本站使用脚本格式的计数器--终于找到解决办法!
  8. Windows下80端口被进程SystemPID=4占用的解决方法
  9. 几个可能会用到的前端库
  10. Python重写C语言程序100例--Part6