JAVA工具类(14)----UUID工具类,产生随机字符串主键
来源:互联网 发布:安全的聊天软件 编辑:程序博客网 时间:2024/06/06 19:41
package com.gcloud.common;import java.net.InetAddress;import java.util.UUID;/** * uuid工具类 * Created by charlin on 2017/9/9. */public class UUIDUtil { private String sep = ""; private static int IP = 0; private static short counter = (short) 0; private static int JVM = (int) (System.currentTimeMillis() >>> 8); static { try { IP = toInt(InetAddress.getLocalHost().getAddress()); } catch (Exception e) { } } private static UUIDUtil instance = new UUIDUtil(); public static UUIDUtil getInstance() { return instance; } /** * byte转int * * @param bytes * @return */ public static int toInt(byte[] bytes) { int result = 0; for (int i = 0; i < 4; i++) { result = (result << 8) - Byte.MIN_VALUE + (int) bytes[i]; } return result; } protected String format(int intval) { String formatted = Integer.toHexString(intval); StringBuffer buf = new StringBuffer("00000000"); buf.replace(8 - formatted.length(), 8, formatted); return buf.toString(); } protected String format(short shortval) { String formatted = Integer.toHexString(shortval); StringBuffer buf = new StringBuffer("0000"); buf.replace(4 - formatted.length(), 4, formatted); return buf.toString(); } protected int getJVM() { return JVM; } protected synchronized short getCount() { if (counter < 0) { counter = 0; } return counter++; } protected int getIP() { return IP; } protected short getHiTime() { return (short) (System.currentTimeMillis() >>> 32); } protected int getLoTime() { return (int) System.currentTimeMillis(); } public String generate() { return new StringBuffer(36).append(format(getIP())).append(sep).append( format(getJVM())).append(sep).append(format(getHiTime())) .append(sep).append(format(getLoTime())).append(sep).append( format(getCount())).toString(); } // 得到一个序号 public static String getUUID() { String s = UUID.randomUUID().toString(); return s.substring(0, 8) + s.substring(9, 13) + s.substring(14, 18) + s.substring(19, 23) + s.substring(24); } /** * 一次得到多个序号 * * @param number int 需要获得的序号数量 * @return String[] 序号数组 */ public static String[] getUUID(int number) { if (number < 1) { return null; } String[] ss = new String[number]; for (int i = 0; i < ss.length; i++) { ss[i] = getUUID(); } return ss; } public static void main(String[] str) { // 得到一个序号 System.out.println(getUUID()); System.out.println("----------------------------"); // 一次得到多个序号 String[] UUID_s = getUUID(10); for (int i = 0; i < UUID_s.length; i++) { System.out.println(UUID_s[i]); } }}
—————————————————————————————————————————————————–
java 架构师全套教程,共760G, 让你从零到架构师,每月轻松拿3万
下载地址:
https://item.taobao.com/item.htm?spm=686.1000925.0.0.4a155084hc8wek&id=555888526201
01.高级架构师四十二个阶段高
02.Java高级系统培训架构课程148课时
03.Java高级互联网架构师课程
04.Java互联网架构Netty、Nio、Mina等-视频教程
05.Java高级架构设计2016整理-视频教程
06.架构师基础、高级片
07.Java架构师必修linux运维系列课程
08.Java高级系统培训架构课程116课时
(送:hadoop系列教程,java设计模式与数据结构, Spring Cloud微服务, SpringBoot入门)
01内容详情:
—————————————————————————————————————————————————–
阅读全文
0 0
- JAVA工具类(14)----UUID工具类,产生随机字符串主键
- JAVA工具类 UUID
- 随机生成UUID的工具类
- java产生随机字符串的各种方法------工具类(包含过滤表情方法)
- c#工具类,用于产生随机整数,随机字符串,随机颜色等
- Java随机取字符串的工具类
- UuidUtil.java Uuid工具类
- 数据库主键UUID,GUID和自己写的工具类
- UUID工具类
- UUID工具类
- UUID工具类
- 利用java生成UUID(工具类)
- java 随机数产生工具类
- 【Java工具类】----产生随机数
- java基础--17 自定义的RandomUtils类--用于产生各种随机串的工具类
- 微信支付--工具类--随机字符串
- 生成随机字符串的工具类
- 工具类-随机产生指定位数的验证码
- 快速排序算法——代码详细注解
- 【基础算法】算法总结
- Leetcode c语言-String to Integer (atoi)
- QML动画和过度
- CCF-201403-1-相反数
- JAVA工具类(14)----UUID工具类,产生随机字符串主键
- 单表查询
- MongoDB查询分析常用函数explain()
- getline()
- 设计模式-代理模式
- linux centos 配置nginx 规则
- Nginx服务器基础配置实例nginx.conf
- HDU 2844 Coins(多重背包)
- 设计模式-桥接模式