⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uuidhexgenerator.java

📁 Java写的一个学员系统
💻 JAVA
字号:
/**
 *
 */
package cn.st.util;

import java.net.InetAddress;

/**
 * @author Administrator
 *
 */
public class UUIDHexGenerator {

	private String sep = "";

	private static final int IP;

	private static short counter = (short) 0;

	private static final int JVM = (int) (System.currentTimeMillis() >>> 8);

	private static UUIDHexGenerator uuidgen = new UUIDHexGenerator();

	static {

		int ipadd;
		try {
			ipadd = toInt(InetAddress.getLocalHost().getAddress());
		} catch (Exception e) {
			ipadd = 0;
		}
		IP = ipadd;
	}

//	public static UUIDHexGenerator getInstance() {
//		return uuidgen;
//	}

	private 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;
	}

	private String format(int intval) {
		String formatted = Integer.toHexString(intval);
		StringBuffer buf = new StringBuffer("00000000");
		buf.replace(8 - formatted.length(), 8, formatted);
		return buf.toString();
	}

	private String format(short shortval) {
		String formatted = Integer.toHexString(shortval);
		StringBuffer buf = new StringBuffer("0000");
		buf.replace(4 - formatted.length(), 4, formatted);
		return buf.toString();
	}

	private int getJVM() {
		return JVM;
	}

	private synchronized short getCount() {
		if (counter < 0) {
			counter = 0;
		}
		return counter++;
	}

	private int getIP() {
		return IP;
	}

	private short getHiTime() {
		return (short) (System.currentTimeMillis() >>> 32);
	}

	private int getLoTime() {
		return (int) System.currentTimeMillis();
	}

	private 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 newID = uuidgen.generate();
		newID = "{" + newID.substring(0, 8) + "-" + newID.substring(8, 12)
				+ "-" + newID.substring(12, 16) + "-" + newID.substring(16, 20)
				+ "-" + newID.substring(20) + "}";
		return (newID);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -