首页 > 编程语言 >java生成uuid(java生成word文件)

java生成uuid(java生成word文件)

时间:2022-10-25 17:39:04浏览次数:56  
标签:word uuid 重复 生成 网卡 java UUID


JAVA JDK提供的一个自动生成主键 UUID.randomUUID()的方法 它永远都不会重复嘛??

关于是否重复,首先要说一下uuid生成的原理

UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的

UUID由以下几部分的组合:

(1)当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。

(2)时钟序列。

(3)全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得。

通过组成可以看出,首先每台机器的mac地址是不一样的,那么如果出现重复,可能是同一时间下生成的id可能相同,不会存在不同时间内生成重复的数据

至于说同一时间产生重复的数据,就目前来说,是不会的除非极高的高并发(如果发生了,也可以通过原子性操作避免),

所以基本上就认为不会重复好了一般来说的话,r文件没有生成的情况可能是因为: 1、项目没有自动编译:这种时候只需要简单的编译一下工程就会有了。建议:选择菜单 project ,勾选上 bulid automatically(自动构建部署)。 2、项目中res文件夹下面的内容有错误(例如layout文件),这种时候r文件也不会出现(或者更新),这种时候需要解决文件中的错误r文件才能生成。我想这种方法会拿到系统时间,并在每个时间的基础上加上

一定位数的随机值,后还可以转换成字母编号

准确地来说,在你一个项目中重复的概率太低太低

当然世间万物都是有破绽的

假设时间是基础,你修改了系统时间,并进行足够数量的尝试

这个序列仍然有可能重复的

但是需要用到序列的方法还是变量应该没有这么多,所以说,基本不可能了

还有一个就是也许最终会检查一次项目中已经存在的序列,唯一则用,重复则继续生产

这样就永远不会重复了

有帮助别忘记采纳亲!

什么是UUID,Java中怎么产生UUID?

UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。

生成UUID的方法:

public static String getUUID32(){ String uuid = UUID.randomUUID().toString().replace("-", "").toLowerCase(); return uuid;//  return UUID.randomUUID().toString().replace("-", "").toLowerCase();}

注:因为一般数据库主键为String类型,所以接收类型为String,生成的uuid数据包含-,所以要去掉-,故UUID.randomUUID().toString().replace("-", "").toLowerCase()。

扩展资料:

UUID由以下几部分的组合:

(1)当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。

(2)时钟序列。

(3)全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得。

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进行转换。

参考资料:百度百科-UUIDuuid含义是通用唯一识别码 (universally unique identifier),这 是一个软件建构的标准,也是被开源软件基金会 (open software foundation, osf) 的组织应用在分布式计算环境 (distributed computing environment, dce) 领域的一部分。

uuid 的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,每个人都可以建立不与其它人冲突的 uuid。在这样的情况下,就不需考虑数据库建立时的名称重复问题。目前最广泛应用的 uuid,即是微软的 microsoft's globally unique identifiers (guids),而其他重要的应用,则有 linux ext2/ext3 档案系统、luks 加密分割区、gnome、kde、mac os x 等等。

uuid是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成的api。

 // 如果使用的jdk1.5的话,那么生成uuid变成了一件简单的事,以为jdk实现了uuid: 

java.util.uuid,直接调用即可. 
uuid uuid = uuid.randomuuid();
string s = uuid.randomuuid().tostring();//用来生成数据库的主键id非常不错。。
//uuid是由一个十六位的数字组成,表现出来的形式例如
//550e8400-e29b-11d4-a716-446655440000UUID是1.5中新增的一个类,在java.util下,用它可以产生一个号称全球唯一的ID package com.mytest;import java.util.UUID;public class UTest {
public static void main(String[] args) {
UUID uuid = UUID.randomUUID();
System.out.println(uuid);
}

}GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随机数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复。

UUID是1.5中新增的一个类,在java.util下,用它可以产生一个号称全球唯一的ID。

import java.util.UUID;
public class Test {
public static void main(String[] args) {
UUID uuid = UUID.randomUUID();
System.out.println (uuid);
}

标签:word,uuid,重复,生成,网卡,java,UUID
From: https://blog.51cto.com/yetaotao/5794991

相关文章

  • java的特点(java的特点不包括)
    JAVA的特点有那些?java语言有下面一些特点:简单、面向对象、分布式、解释执行、健壮、安全、体系结构中立、可移植、高性能、多线程以及动态性。1.简单性java语言是一......
  • java程序员面试题(高级程序员面试题)
    java面试问题给你参考!!!一个月的实习过程使我受益匪浅。不仅是在专业知识方面,最主要是在怎样去解决编程中出现的问题。社会在加速度地发生变化,对人才的要求也越来越高,要用......
  • java私塾(java私塾初级模拟银源代码)
    北京JAVA私塾培训真的学习有那么累吗,学JAVA有那么难吗首先要把基础学一下,一定要理解,打扎实,再学后面的东西,后面主要是理解的多,再一个要多去写!学JAVA肯定没那么容易的,有时候确......
  • java简介(Java简介英文)
    什么是javaJava是由Sun微系统公司所发展出来的程序语言,它本身是一种对象导向(Object-Oriented)的程序语言。JAVA目前在手机上应用最多的就是JAVA游戏。Java也号称是能跨平......
  • java空间(Java堆空间)
    2017年Java开发有什么发展空间? 现在人们愈发相信,在今后的十年、二十年之内,Java都将是IT行业最炙手可热的技术,Java软件工程师将持续成为最热门的岗位之一,历史也不断的证明,JA......
  • java策略模式(Java策略模式多种返回结果)
    Java设计模式的中介者模式是怎样的?  如果对象之间的关系原本一目了然,中介对象的加入便是“画蛇添足”。来看下中介者模式的组成部分吧。1)抽象中介者(Mediator)角色:抽......
  • java递归(java递归求阶乘)
    JAVA中递归的概念说简单点就是方法调用自身方法。给你个例子:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多......
  • java简历项目经验大全(java商城项目经验简历)
    Java简历中工作经验怎么写错误示范:1、java后台开发2、前端编写正确范例:1、java程序开发岗位,主要负责:代码编写、数据库操作、sql语句优化、wsdl技术调用接口、生成接口等。2......
  • java资料(java资料网站)
    JAVA的简介java的基础知识有哪些根据我当初学习的资料整理了一下:变量、运算符和表达式、扫描仪和随机器、判断语句、循环语句、数组、面向对象、封装、继承、多态、抽象类和......
  • java输出(java输出语句快捷键)
    java最简单的输入输出java输出语句怎么写去百度文库,查看完整内容>内容来自用户:白岸海歌System.out.print——标准输出流Java的流类,主要是:输入流类InputStream输出流类Outp......