有时候程序员需要用一个的字符串来给数据当作唯一标识。例如,很多大型电商系统每分钟就有可能产生上万条交易数据,如果每条数据都需要和其他数据区分开,程序员就要给每条数据设定一个属于它自己的唯一编号,就像每个人都有一个属于自己的唯一的身份证号码一样。
在高速产生数据的情况下,确保每条数据编号的唯一性并不是一件容易的事情。经过人们大量研究发现:如果能够把网卡的MAC地址、时间戳、名称空间、随机数或伪随机数、时序等因素都加入到字符串当中,再经过一系列合理的位运算操作,就能生成一个几乎不重复的字符串。根据个指导思想,研究者们提出了UUID的概念。UUID是“Universally Unique Identifier”的缩写,意为“全局唯一标识符”。为了适应不同的应用场景,研究者们又提出了5种UUID的生成算法,这些算法都比较复杂,为了能够让开发者能够快速的生成UUID,Java语言提供了一个专门生成UUID的类,这个类的名字就叫UUID,它位于java.util包下。
生成UUID的方法有很多,但实际开发过程中人们一般都用randomUUID()静态方法来生成UUID,下面的【例11_18】展示了生成UUID的过程。
【例11_18 生成UUID】
Exam11_18.java
import java.util.