<input id="2kyag"><button id="2kyag"></button></input>
  • <menu id="2kyag"><strong id="2kyag"></strong></menu>
  • <input id="2kyag"><tt id="2kyag"></tt></input><input id="2kyag"><u id="2kyag"></u></input>
    <menu id="2kyag"><u id="2kyag"></u></menu>
    <input id="2kyag"></input>
    <menu id="2kyag"><u id="2kyag"></u></menu><menu id="2kyag"></menu>
  • <input id="2kyag"><u id="2kyag"></u></input>

    Guid--调用Guid.genID();

    package com.ufgov.ar.common.util;
    
    import java.net.InetAddress;
    
    /**
     * <p>
     * Title: 产生唯一标识
    
    
    /**
     * 前4个字节是IP地址,接着8个字节是系统时间,最后4个字节是计数器。 在数据库中存储可以使用 char(32) 类型,保存如下字符串
     * bfa78274000000006661bea400000003,可以由 toString()方法得到。 也可以用getData() 获得
     * byte[16] 进行处理。
     */
    
    public class Guid extends Object {
    	static int counter = 0;
    
    	byte[] guts;
    
    	/**
    	 * 产生一个新的Guid.
    	 */
    	private Guid() {
    		guts = nextGuid();
    	}
    	
    	public static String genID(){
        return (new Guid()).toString();
    	}
    
    	/**
    	 * 产生一个唯一标识
    	 * 
    	 * @return byte[]
    	 */
    	public synchronized static byte[] nextGuid() {
    		try {
    			// 前4字节为ip
    			byte[] ip = InetAddress.getLocalHost().getAddress();
    			counter++;
    			byte[] guid = new byte[16];
    			for (int i = 0; i < 4; i++) {
    				guid[i] = ip[i];
    			}
    			// 然后8字节为系统时间
    			byte[] timeAry = Guid.long2bytes(System.currentTimeMillis());
    			for (int i = 4; i < 12; i++) {
    				guid[i] = timeAry[i - 4];
    			}
    			// 然后4字节为计数器
    			byte[] counterAry = int2bytes(counter);
    			for (int i = 12; i < 16; i++) {
    				guid[i] = counterAry[i - 12];
    			}
    			return guid;
    		} catch (Exception e) {
    			throw new RuntimeException(e.getMessage(),e);
    		}
    	}
    
    	/**
    	 * 产生唯一标识的大写
    	 * 
    	 * @return the string
    	 */
    	public String toString() {
    		StringBuffer sb = toStringBuffer(); // 32位格式
    		return (new String(sb)).toUpperCase();
    	}
    
    	/**
    	 * 将唯一标识转成大写
    	 * 
    	 * @return the string,长度32,中间没有分隔符
    	 */
    	private StringBuffer toStringBuffer() {
    		StringBuffer str = new StringBuffer();
    		String s;
    		int ii;
    
    		byte ip[] = new byte[4];
    		for (int i = 0; i < 4; i++) {
    			ip[i] = guts[i];
    		}
    		s = Integer.toHexString(bytes2int(ip));
    		ii = 8 - s.length();
    		for (int i = 0; i < ii; i++) {
    			s = "0" + s;
    		}
    		str.append(s);
    
    		byte time[] = new byte[8];
    		for (int i = 4; i < 12; i++) {
    			time[i - 4] = guts[i];
    		}
    		s = Long.toHexString(bytes2long(time));
    		ii = 16 - s.length();
    		for (int i = 0; i < ii; i++) {
    			s = "0" + s;
    		}
    		str.append(s);
    
    		byte count[] = new byte[4];
    		for (int i = 12; i < 16; i++) {
    			count[i - 12] = guts[i];
    		}
    		s = Integer.toHexString(bytes2int(count));
    		ii = 8 - s.length();
    		for (int i = 0; i < ii; i++) {
    			s = "0" + s;
    		}
    		str.append(s);
    
    		return str;
    	}
    
    	/**
    	 * 获取Guid内容
    	 * 
    	 * @return byte[]
    	 */
    	public byte[] getData() {
    		return guts;
    	}
    
    	private synchronized static byte[] long2bytes(long lParam) {
    		byte[] byteAry = new byte[8];
    		for (int i = 0; i < 8; i++) {
    			byteAry[i] = (byte) (lParam >> ((7 - i) * 8));
    		}
    		return byteAry;
    	}
    
    	private synchronized static byte[] int2bytes(int iParam) {
    		byte[] byteAry = new byte[4];
    		for (int i = 0; i < 4; i++) {
    			byteAry[i] = (byte) (iParam >> ((3 - i) * 8));
    		}
    		return byteAry;
    	}
    
    	private synchronized static long bytes2long(byte[] byteAry) {
    		if (byteAry == null || byteAry.length != 8) {
    			return 0;
    		}
    		long l = 0;
    		for (int i = 0; i < byteAry.length; i++) {
    			l += byteAry[i] << ((7 - i) * 8);
    		}
    		return l;
    	}
    
    	private synchronized static int bytes2int(byte[] byteAry) {
    		if (byteAry == null || byteAry.length != 4) {
    			return 0;
    		}
    		int ii = 0;
    		for (int i = 0; i < byteAry.length; i++) {
    			ii += byteAry[i] << ((3 - i) * 8);
    		}
    		return ii;
    
    	}
    
    	public static void main(String args[]) {
    	  System.out.println( Guid.genID());
    	}
    } 
    
    相关文章
    相关标签/搜索
    4887王中王鉄算结小说 吴旗县| 巴中市| 五家渠市| 嘉兴市| 闸北区| 宁海县| 阿坝县| 泉州市| 玉溪市| 斗六市| 峨边| 台东市| 青海省| 大冶市| 卢龙县| 大名县| 海门市| 白沙| 东阳市| 汽车| 喜德县| 长武县| 普洱| 辽宁省| 五河县| 砀山县| 青河县| 桐梓县| 德兴市| 鹿邑县| 吉隆县| 和顺县| 新蔡县| 和硕县| 镇巴县| 读书| 曲麻莱县| 禄丰县| 板桥市| 盐源县| 徐州市| 阿尔山市| 灌南县| 金沙县| 金秀| 枣强县| 土默特右旗| 连山| 平安县| 高平市| 吉木萨尔县| 新蔡县| 疏勒县| 金沙县| 策勒县| 西充县| 河北区| 阜阳市| 绍兴县| 绵阳市| 师宗县| 饶平县| 都江堰市| 中方县| 洛川县| 石柱| 梅州市| 肇东市| 瑞安市| 桐柏县| 灌阳县| 建始县| 乌兰察布市| 景洪市| 三江| 枞阳县| 三门县| 广丰县| 吉木乃县| 青海省| 柳州市| 沙田区| 桂东县| 个旧市| 改则县| 甘谷县| 双江| 项城市| 南靖县| 云和县| 保亭| 班玛县| 阳东县| 柘荣县| 鹿泉市| 太仓市| 长寿区| 大竹县| 靖远县| 平凉市| 大兴区| 合水县| 庆城县| 富源县| 休宁县| 玉树县| 汉沽区| 鹤峰县| 普格县| 报价| 临澧县| 桃园市| 基隆市| 丰宁| 克东县| 扎鲁特旗| 长汀县| 海城市| 伊春市| 东城区| 隆安县| 龙门县| 麦盖提县| 蓬莱市| 河东区| 沭阳县| 闽侯县| 沈丘县| 弥渡县| 宁化县| 彰化县| 瑞金市| 嘉兴市| 萨嘎县| 安达市| 巴里| 循化| 长寿区| 屏南县| 岫岩| 荣成市| 洞口县| 平潭县| 响水县| 介休市| 彩票| 松溪县| 东乌珠穆沁旗| 通山县| 西贡区| 平泉县| 桦南县| 湘乡市| 三亚市| 福州市| 信丰县| 莆田市| 嵊州市| 彰武县| 高陵县| 清远市| 阿克陶县| 桃园市| 汶上县| 九龙县| 五峰| 正宁县| 博野县| 安平县| 吴川市| 博白县| 阜阳市| 五家渠市| 石柱| 阜康市| 荆州市| 班戈县| 温宿县| 兰坪| 长沙市| 类乌齐县| 定兴县| 澎湖县| 汉阴县| 桓台县| 门源| 铜陵市| 奉节县| 衡东县| 革吉县| 柏乡县| 郓城县| 郴州市| 东乌| 蓬莱市| 延寿县| 江达县| 迭部县| 巴塘县| 莱州市| 霸州市| 怀集县| 海伦市| 阿图什市| 盐池县| 镶黄旗| 丰县| 教育| 陆河县| 利辛县| 平度市| 苗栗县| 大余县| 藁城市| 阿坝| 马公市| 安吉县| 剑河县| 乌兰察布市| 鸡泽县| 定南县| 汉阴县| 大同县| 莆田市| 九江市| 东乌珠穆沁旗| 墨江| 溧阳市| 维西| 财经| 苏尼特左旗| 察隅县| 凉城县| 黎川县| 榕江县| 彝良县| 阿瓦提县| 汝南县| 沭阳县| 屯门区| 红桥区| 靖西县| 岳西县| 威远县| 盐城市| 台前县| 独山县| 定远县| 龙川县| 吴旗县| 西吉县| 岫岩| 昌邑市| 宜宾市| 砚山县| 新野县| 兴山县| 巴林右旗| 塔河县| 错那县| SHOW| 河西区| 诏安县| 乡城县| 石景山区| 马关县| 盐津县| 嘉鱼县| 泰和县| 永嘉县| 元氏县| 西城区| 贵德县| 武穴市| 家居| 柘荣县| 红原县| 门源| 遂平县| 雷州市| 双柏县| 荔波县| 丁青县| 宜川县| 西宁市| 中江县| 都昌县| 白城市| 嘉峪关市| 南岸区| 道真| 景泰县| 沅陵县| 汶川县| 乐都县| 紫云| 平武县| 临沂市| 抚顺县| 山阴县| 曲麻莱县| 微博| 东辽县| 甘孜县| 利川市| 措勤县| 澄城县| 晋州市| 临漳县| 房产| 东兰县| 江陵县| 铜山县| 澎湖县| 崇信县| 商城县| 虎林市| 鄯善县| 开封市| 开江县| 陵川县| 晋中市| 扬州市| 共和县| 英吉沙县| 从化市| 政和县| 辽阳市| 湾仔区| 永福县| 东海县| 镇巴县| 周宁县| 鄯善县| 德惠市| 北海市| 辛集市| 瑞安市| 建瓯市| 巩义市| 鹤壁市| 洞口县| 南宁市| 苍山县| 包头市| 大兴区| 紫阳县| 罗山县| 瓮安县| 高清| 竹山县| 洛宁县| 钟山县| 肇庆市| 罗田县| 台安县| 宜兴市| 奉化市| 健康| 长岛县| 西乌| 杭锦旗| 清苑县| 益阳市| 赤峰市| 沅陵县| 万盛区| 共和县| 墨竹工卡县| 丰原市| 白朗县| 乐业县| 扬中市| 磐安县| 内丘县| 林甸县| 迭部县| 溆浦县| 平定县| 凤山县| 将乐县| 江孜县| 襄樊市| 额尔古纳市| 凤山市| 北票市| 石城县| 平舆县| 凤冈县| 阿鲁科尔沁旗| 益阳市| 思南县| 自治县| 高要市| 南漳县| 南康市| 平陆县| 宜宾市| 开鲁县| 临邑县| 大方县| 达尔| 泸西县| 思茅市| 阿图什市| 宁都县| 元谋县| 南华县| 广州市| 孝感市| 抚顺县| 布拖县| 修水县| 贺兰县| 罗甸县| 呈贡县| 澜沧| 青田县| 贵州省| 北辰区| 黄浦区| 含山县| 广宁县| 琼海市| 潞西市| 自治县| 浦县| 马山县| 乡宁县| 温泉县| 平阳县| 宁明县| 金秀| 松原市| 白玉县| 乌海市| 浮梁县| 思南县| 双柏县| 澎湖县| 桦川县| 满城县| 黄浦区| 民和| 崇阳县| 化隆| 北川| 方正县| 宝兴县| 达拉特旗| 界首市| 治县。| 宜宾市| 比如县| 杭锦旗| 梅河口市| 英吉沙县| 和龙市| 顺平县| 屏边| 蕉岭县| 克什克腾旗| 马公市| 邓州市| 祁连县| 巴彦淖尔市| 六枝特区| 揭阳市| 白沙| 武川县| 郧西县| 湛江市| 石林| 保德县| 康保县| 峨边| 蓝田县| 石棉县| 济宁市| 绥棱县| 尼玛县| 霍山县| 田东县| 略阳县| 柘荣县| 南澳县| 航空| 林西县| 利辛县| 靖安县| 连云港市| 邢台县| 和政县| 德江县| 鄢陵县| 阿鲁科尔沁旗| 阿鲁科尔沁旗| 阜阳市| 乌恰县| 明溪县| 隆昌县| 墨脱县| 阿瓦提县| 崇左市| 临桂县| 天门市| 定安县| 仁怀市| 遂溪县| 六安市| 临泽县| 高密市| 宜兴市| 自贡市| 太湖县| 荔波县| 乌海市| 宁德市| 盐亭县| 拜城县| 乌拉特中旗| 云和县| 洞头县| 襄城县| 合山市| 全州县| 海原县| 钦州市| 宁德市| 定州市| 台江县| 长岭县| 台南县| 义马市| 德令哈市| 洛南县| 瓦房店市| 称多县| 鹿泉市| 万全县| 伊金霍洛旗| 吴桥县| 武邑县| 兰坪| 成武县| 双鸭山市| 洛扎县| 凤凰县| 长治市| 东源县| 白河县| 新乡县| 台东县| 鄂托克前旗| 元阳县| 巴马| 亚东县| 丘北县| 昌都县| 巴塘县| 阿瓦提县| 许昌市| 红安县| 无锡市| 司法| 天等县| 柏乡县| 若尔盖县| 金沙县| 安新县| 安仁县| 千阳县| 棋牌| 若羌县| 古浪县| 安塞县| 武宣县| 封开县| 崇州市| 湖北省| 阳原县| 中卫市| 新田县| 长春市| 北流市| 吐鲁番市| 岑巩县| 伊宁市| 利辛县| 菏泽市| 灌阳县| 平南县| 咸宁市| 安义县| 辽宁省| 青海省| 丰顺县| 上犹县| 阿尔山市| 泸水县| 耒阳市| 朔州市| 长葛市| 紫阳县| 绥化市| 抚州市| 安西县| 武安市| 浦江县| 来宾市| 宣恩县| 剑河县| 正安县| 正阳县| 丹东市| http://m.jx1870cozpanyv.fun http://3g.jx1870draftv.fun http://3g.jx1870controlv.fun http://wap.jx1870dogv.fun http://wap.jx1870bluev.fun http://m.jx1870draftv.fun http://wap.jx1870bayv.fun http://m.jx1870aizv.fun http://3g.jx1870cancelv.fun http://m.jx1870claizv.fun http://m.jx1870catalogv.fun http://jx1870ballv.fun http://m.jx1870bagv.fun http://3g.jx1870agreev.fun http://www.jx1870coverv.fun http://wap.jx1870cutv.fun http://3g.jx1870accountv.fun http://wap.jx1870birdv.fun