JAVA如何产生uuid 博客分类: Java Java
程序员文章站
2024-02-25 22:57:09
...
直接通过java.util.randomUUID() 产生,源码如下:
public static UUID randomUUID() { SecureRandom ng = numberGenerator; if (ng == null) { numberGenerator = ng = new SecureRandom(); } byte[] randomBytes = new byte[16]; ng.nextBytes(randomBytes); randomBytes[6] &= 0x0f; /* clear version */ randomBytes[6] |= 0x40; /* set to version 4 */ randomBytes[8] &= 0x3f; /* clear variant */ randomBytes[8] |= 0x80; /* set to IETF variant */ return new UUID(randomBytes); }
注意
1.numberGenerator = ng = new SecureRandom(); 2.private static volatile SecureRandom numberGenerator = null;
1.是连续赋值,引用相同
2.volatile 标识某变量在内存中仅存在一份不存在copy,如果变量比较简单那么可以认为是线程同步的另外一种机制
推荐阅读
-
java.net.BindException: Cannot assign requested address 博客分类: tomcat tomcat
-
Arrays.asList(T...)方法 博客分类: Java Java
-
java面试集锦 博客分类: java基础 Java面试JSPServlet应用服务器
-
Resin3和4对slf4j的要求 博客分类: Java
-
JAVA如何产生uuid 博客分类: Java Java
-
Missing a Javadoc comment Hudson代码review 博客分类: Java
-
Hibernate查询语句得到一个对象 博客分类: JAVA常用框架 HibernateJava
-
Hibernate介绍 博客分类: JAVA常用框架 HibernateORM框架编程JDBC
-
JAVA如何产生uuid 博客分类: Java Java
-
Eclipse导出doc的时候需要指定编码 博客分类: Java Eclipse