基础概念&使用
UUID是Universally Unique Identifier的缩写,它是在一定的范围内(从特定的名字空间到全球)唯一的机器生成的标识符。
说白了就是个唯一键,只不过到处都可以方便的生成,不用担心重复;
有几个特点
- 经由一定的算法,机器生成;
- 非人工置顶,非人工识别;
- 唯一性是有限的,只在特定的范围内才能得到保证,但重复几率非常小,可以忽略不计;
- 唯一性保证来源于算法,有多种算法,一般包含时间、网卡地址、伪随机数等;
使用:
@Test
public void testUUID() {
int i;
for (i=0 ; i< 10 ; i++) {
log.info(UUID.randomUUID().toString());
}
}
格式替换
标准的UUID格式是有横杠的
UUID的唯一缺陷在于生成的结果串会比较长。关于UUID这个标准使用最普遍的是微软的GUID(Globals Unique Identifiers)。在ColdFusion中可以用CreateUUID()函数很简单地生成UUID,其格式为:xxxxxxxx-xxxx- xxxx-xxxxxxxxxxxxxxxx(8-4-4-16),其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字。而标准的UUID格式为:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (8-4-4-4-12),可以从cflib 下载CreateGUID() UDF进行转换
代码中,可以替换下
UUID.randomUUID().toString().replaceAll("-", "")