java主键后四位顺序号_JAVA中取顺序号 (转)
JAVA中取顺序号 (转)[@more@]
在写系统的时候,经常会遇到用一个唯一的键值去票识一个对象,如数据库中一条记录的主键,文件的文件名
等。常用的做法将这个键值从1,2,3……这样一值递加下去,但这样会比较费时。如在数据库中的记录,你要
先找出最大的一个流水号,再进行加1的操作,这样已是做了一个数据库的select操作,如在文件系统中,那就
要先读出所有文件名,对文件名进行排序,那更麻烦了。
下面介绍一个比较简单快捷的方法,那就是使用系统时钟。在Java中,使用System.currentTimeMillis()可以
得到这前系统时间所对应的毫秒数,时间是不会重复的,所以可放心使用。为了满足并发使用的情况,可以加
入同步。
下面有一段样例代码,可以参考一下:
package comm;
import java.util.Random;
public class UId {
private static Random random = new java.util.Random();
private static final int ID_BYTES = 10;
public synchronized static String generateId() {
StringBuffer result = new StringBuffer();
result = result.append(System.currentTimeMillis());
for (int i = 0; i < ID_BYTES; i++) {
result = result.append(random.nextInt(10));
}
return result.toString();
}
}
在上面的代码中,在系统的毫秒数后面还加了10位的随机数,以保证在同一毫秒内的并发取得不同的值。
当然,使用这种方法也有一定的局限,一是你不能随意修改时间,二就是键值不是按顺序的。
java主键后四位顺序号_JAVA中取顺序号 (转)相关推荐
- mysql带唯一主建任然发生gap,mysql – 使用主键分块从大表中删除时仍然看到锁等待超时...
我有一个分布式应用程序,可以将数百万条记录记录到MySQL.有时它是一天一百万或一周,具体取决于用户. 我最近重写了一个"清除"系统,可以自动删除过时的记录.它每12小时运行一次, ...
- java主类与源代码名称_Java高级编程基础:类文件结构解析,看穿Class代码背后的秘密...
类文件结构 在说完了JVM内部结构后,接下来我们需要说一下另外一个非常重要的基础概念Class类结构. 我们既然知道了开发的Java源代码会首先被编译成字节码文件保存,JVM的类加载器会读取这些文件内 ...
- sql创建表主键gui_在SQL Server中使用主数据服务快速创建最终用户可以维护的GUI
sql创建表主键gui 介绍 ( Introduction ) Oft times we are forced into situations where we clearly need to thi ...
- java什么是栈和堆_JAVA中的栈和堆
JAVA在程序运行时,在内存中划分5片空间进行数据的存储.分别是:1:寄存器.2:本地方法区.3:方法区.4:栈.5:堆. 基本,栈stack和堆heap这两个概念很重要,不了解清楚,后面就不用学了. ...
- java主键可以包含多列吗,SQLite主键在多列上
在SQLITE的1个以上的列上指定主键的语法是什么? #1楼 主键字段应声明为非null(这是非标准的,因为主键的定义是它必须唯一且不能为null). 但是下面是对任何DBMS中所有多列主键的一种良好 ...
- mysql多重主键错误,老师,jd_spider中数据插入Mysql时一直显示主键错误,求助~
老师,jd_spider中数据插入Mysql时一直显示主键错误,求助~ 而且peewee会自动生成一个goods表的主键 万分感谢! 建立表的代码如下 from peewee import * db ...
- server的自增主键返回函数 sql_mybatis+sqlserver中返回非自增主键
首先把实体类贴出来(这里只贴出属性,其它的就是getter和setter方法): public class Around { private String xccd; //对应主键 private ...
- java 多个类共用属性_java中读写Properties属性文件公用方法详解
前言 大家都知道Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置文件中很多变量是经常改 ...
- oracle中主键创建的语法,Oracle中主键、外键、索引、序列、唯一性约束的创建
1.主键的创建 方法一:直接在sql语句中声明字段主键约束 create table table_name (id type[length] constraint pk_name primary ke ...
最新文章
- MySQL -- Lock wait timeout exceeded; try restarting transaction参数控制
- leetcode 932. Beautiful Array | 932. 漂亮数组(分治法)
- 关于如何用od反汇编win32 控制台程序
- 被灵魂问倒:这个BUG为什么没测出来?
- idea:properties in parent definition are prohibited警告去除
- azure vnc控制台_使用扩展和标签控制Azure成本
- Windows Driver开发_NT Driver框架:The driver is not in a state to accept this command
- unity中移动lindrender和transform, 两个点的位置
- 笔记 -- Maxwell软件仿真
- Linux安装phpstudy
- 处理 Git 提交中出现 .DS_Store 文件
- 经典歌曲多版本欣赏:刘欢《情怨》:华夏元素鲜明的“中国风格“
- 【Java】俄罗斯方块带背景音乐
- docker运行jenkins挂掉_使用Jenkins在Kubernetes上设置CI/CD管道
- 图片去水印在线-图片去水印无痕迹的app
- Mac电脑打开app,提示无法验证此App不包含恶意软件解决方法
- r7 5800h 怎么样 相当于什么水平
- html ppt播放音乐,PPT怎么控制音乐暂停后继续播放?
- 创龙TI TMS320C6678 DSP + Xilinx Kintex-7 FPGA的温度传感器、B2B连接器
- 那个给三千人算命的大师,正在给自己水滴筹