JAVA 生成 UUID
2015-08-18 16:18
471 查看
UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。
按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。由以下几部分的组合:当前日
期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同),时钟序列
,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,没有网卡以其他方式获得),UUID的唯一缺陷在于生成的结果串会比较长。
UUID是由一个十六位的数字组成,表现出来的形式例如 : 673ae243-b020-46d9-875a-60d228f1e8ab
在Java中生成UUID主要有以下几种方式:
1.
JDK1.5如果使用的JDK1.5的话,那么生成UUID变成了一件简单的事,以为JDK实现了UUID:
java.util.UUID,直接调用即可.
UUID uuid = UUID.randomUUID();
public class UUIDGenerator {
public static String getIdByUUID() {
return UUID.randomUUID().toString().replaceAll("-", "");
}
public static String getUUID() {
return UUID.randomUUID().toString();
}
public static String getIDByUUID(String prefix) {
if(prefix != null && !prefix.equals(""))
return prefix.concat("-").concat(UUID.randomUUID().toString());
return null;
}
}
按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。由以下几部分的组合:当前日
期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同),时钟序列
,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,没有网卡以其他方式获得),UUID的唯一缺陷在于生成的结果串会比较长。
UUID是由一个十六位的数字组成,表现出来的形式例如 : 673ae243-b020-46d9-875a-60d228f1e8ab
在Java中生成UUID主要有以下几种方式:
1.
JDK1.5如果使用的JDK1.5的话,那么生成UUID变成了一件简单的事,以为JDK实现了UUID:
java.util.UUID,直接调用即可.
UUID uuid = UUID.randomUUID();
public class UUIDGenerator {
public static String getIdByUUID() {
return UUID.randomUUID().toString().replaceAll("-", "");
}
public static String getUUID() {
return UUID.randomUUID().toString();
}
public static String getIDByUUID(String prefix) {
if(prefix != null && !prefix.equals(""))
return prefix.concat("-").concat(UUID.randomUUID().toString());
return null;
}
}
相关文章推荐
- freemaker html页面获取map的key和value
- UITableViewCell drawRect画线在iOS7下不显示的问题
- 让UITableView的headerView或footerView跟随cell一起滚动
- java中StringBuilder、StringBuffer、String类之间的关系
- 排序检索B - List of Conquests
- iOS开发系列--UITableView全面解析
- hdoj 1509 Windows Message Queue
- iOS开发 -- UIViewContentMode各类型效果
- UIAlertView的基本用法
- 黑马程序员_String类型以及StringBuilder
- POJ 1986 DIstance Query LCA水题
- RequireJS Optimizer 的使用和配置
- Reveal UI 分析工具简单使用
- 【Mockplus教程】安装Mockplus
- 【Mockplus教程】界面闪烁花屏怎么办?
- 【Mockplus教程】MAC 安全提示无法安装怎么办?
- Unable to determine the principal end of an association between the types '***. The principal end of this association must be explicitly configured using either the relationship fluent API or data annotations.
- 【Mockplus教程】为什么 Windows XP 无法安装?
- 【Mockplus视频教程】《10分钟玩转Mockplus》
- IOS UITableView拖动排序功能