直接上代码

package test.uid;import java.io.FileWriter;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;/*** @description: <br/>* @package test.AA.java* @author YangPu* @date 2016年11月3日 下午3:38:34*/
public class AA {private static final String fileName = "E:/notepad++_file/out.txt";private static final String[] chars = { // <br>"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", // <br>"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", // <br>"k", "l", "m", "n", "o", "p", "q", "r", "s", "t", // <br>"u", "v", "w", "x", "y", "z", "A", "B", "C", "D", // <br>"E", "F", "G", "H", "I", "J", "K", "L", "M", "N", // <br>"O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", // <br>"Y", "Z", "a1", "a2" // <br>};// 统计UUID的长度变化范围public static void main(String[] args) throws InterruptedException {int time = 1 * 10000 * 1;for (int j = 0; j < 15; j++) {Map<Integer, Integer> sum = new HashMap<>();Map<String, Integer> sumStr = new HashMap<>();for (int ii = 0; ii < time; ii++) {String uuid = uuid(j);int sbLength = uuid.length();String sb = uuid.substring(0, 1);if (sum.get(Integer.valueOf(sbLength)) != null) {int v = sum.get(Integer.valueOf(sbLength)).intValue();v++;sum.put(Integer.valueOf(sbLength), v);} else {sum.put(Integer.valueOf(sbLength), 1);}if (sumStr.get(sb) != null) {int v = sumStr.get(sb).intValue();v++;sumStr.put(sb, v);} else {sumStr.put(sb, 1);}}write("j:" + j);for (Integer in : sum.keySet()) {write(in + ":" + sum.get(in));// System.out.println(in + ":" + sum.get(in));}}}/*** @description: 生成UUID<br/>*               可以确定开头字母来区别业务<br/>*               num16:必须是0--15以内的数字<br/>*              @param:num16:<br/>*               00-->>"0", "1", "2", "3",<br/>*               01-->>"4", "5", "6", "7",<br/>*               02-->>"8", "9", "a", "b",<br/>*               03-->>"c", "d", "e", "f",<br/>*               04-->>"g", "h", "i", "j",<br/>*               05-->>"k", "l", "m", "n",<br/>*               06-->>"o", "p", "q", "r",<br/>*               07-->>"s", "t", "u", "v",<br/>*               08-->>"w", "x", "y", "z",<br/>*               09-->>"A", "B", "C", "D",<br/>*               10-->>"E", "F", "G", "H",<br/>*               11-->>"I", "J", "K", "L",<br/>*               12-->>"M", "N", "O", "P",<br/>*               13-->>"Q", "R", "S", "T",<br/>*               14-->>"U", "V", "W", "X",<br/>*/public static String uuid(int num16) {if (num16 < 0 || num16 > 15) {num16 = 0;}StringBuilder sb = new StringBuilder();String pre = Integer.toHexString(num16);String uid = pre + UUID.randomUUID().toString().replaceAll("-", "");int length = uid.length();// 将16进制数转换成64进制数// 2的4次方转化成2的6次方的数据// bcb da5 f41 172 4bc 28b 920 b1c 5f4 422 6e// 3位转2位int i = 0;for (; i < length; i = i + 3) {// 16进制数转化成10进制数int end = i + 3;if (end >= length) {end = length;}int t = Integer.parseInt(uid.substring(i, end), 16);// 10进制数转化成64进制数sb.append(chars[t / 64]);// 第一个数据sb.append(chars[t % 64]);// 第二个数据}// write(sb.toString().substring(0, 1) + "----" + sb.toString());write(sb);// System.out.println(sb);return sb.toString();}public static void write(Object out) {if (out == null) {return;}try {// 打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件FileWriter writer = new FileWriter(fileName, true);writer.write(out.toString() + "\n");writer.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

java uuid 长度处理相关推荐

  1. java UUID的长度缩减

    java UUID的长度缩减,大多数情况下可以缩减到22位 不多说,直接上代码 package test.uid;import java.util.HashMap; import java.util. ...

  2. java String长度与varchar长度匹配理解(字符和字节长度理解)

    java String长度与varchar长度匹配理解(字符和字节长度理解) string中的length()长度,返回的是char的数量,每个char可以存储世界上任何类型的文字和字符,一个char ...

  3. java uuid静态方法_Java UUID equals()方法与示例

    java uuid静态方法 UUID类equals()方法 (UUID Class equals() method) equals() method is available in java.util ...

  4. java uuid静态方法_Java UUID toString()方法与示例

    java uuid静态方法 UUID类toString()方法 (UUID Class toString() method) toString() method is available in jav ...

  5. java uuid静态方法_Java UUID compareTo()方法与示例

    java uuid静态方法 UUID类compareTo()方法 (UUID Class compareTo() method) compareTo() method is available in ...

  6. java uuid静态方法_Java UUID timestamp()方法与示例

    java uuid静态方法 UUID类timestamp()方法 (UUID Class timestamp() method) timestamp() method is available in ...

  7. java uuid静态方法_Java UUID getLeastSignificantBits()方法与示例

    java uuid静态方法 UUID类getLeastSignificantBits()方法 (UUID Class getLeastSignificantBits() method) getLeas ...

  8. java uuid静态方法_Java UUID的variant()方法和示例

    java uuid静态方法 UUID类variant()方法 (UUID Class variant() method) variant() method is available in java.u ...

  9. java uuid静态方法_Java UUID nameUUIDFromBytes()方法及示例

    java uuid静态方法 UUID类名UUIDFromBytes()方法 (UUID Class nameUUIDFromBytes() method) nameUUIDFromBytes() me ...

最新文章

  1. java中separator_java - File.separator和路径中的斜杠之间的区别
  2. 微软语音AI技术与微软听听文档小程序实践 | AI ProCon 2019
  3. Node.js 切近实战(八) 之Excel在线(文件权限)
  4. MySQL的单表索引优化案例
  5. A comparative study of various methods of bearing faults diagnosis using the CWRU data.-学习笔记
  6. springboot 建readme_经验分享:给项目创建和编写README.md文件的步骤
  7. 用mysql + node搭建一个简易工作列表网站
  8. C++中不能声明为虚函数的有哪些函数
  9. Activity及Dialog的全透明
  10. java堆栈方法区_java堆栈方法区详解
  11. 怎么计算机械设备使用费用,机械设备制造成本的核算方法.doc
  12. 【转载】超简单集成HMS ML Kit 人脸检测实现可爱2D贴纸
  13. ResNet+cifar10总结-由浅入深
  14. PPT模板的动画去掉或更改
  15. 电路分析第二章 网孔电流法,节点电压法,叠加原理
  16. 手机里tencent文件夹能删吗_【我要删除tencent文件夹】手机删了tencent文件夹_tencent什么文件夹...
  17. 攒机需要注意的8条技巧 转太平洋网
  18. EverBox开发笔记-4-如何使用Core Data
  19. fdisk 命令实现磁盘分区详细教程
  20. 三洋p6系列伺服电机说明书_2-30N.m 50N.m伺服电机扭力测试仪器价格大概多少

热门文章

  1. 刺激战场虚拟服务器满了怎么办,刺激战场模拟器注册已达上限怎么办?模拟器注册上限处理方法[多图]...
  2. 周内效应对ETF定投的影响分析
  3. 导出文件夹下所有文件名
  4. 晚上十点以后发快手有影响吗?上热门有哪些技巧?
  5. Lesson Forty-Nine At the butcher's. 在肉店.
  6. 十大排序算法-----归并排序
  7. Z-Score标准化(z-score normalization)
  8. 玩转linux三剑客-三剑客实战经典例题
  9. c++模型推理时 HWC转CHW
  10. 星座运势接口、星座查询接口和星座配对接口应用解决方案【源码可用】