java GUID生成器 产生随机GUID的方法

{

private static Random myRand; //基本java随机对象

private static SecureRandom mySecureRand; //安全随机对象

private static String s_id; //ip地址字符串

static

{

mySecureRand = new SecureRandom();

//用安全随机对象产生一随机数并用该随机数初始化基本java随机对象

long secureInitializer = mySecureRand.nextLong();

myRand = new Random(secureInitializer);

try

{

//获得当前主机的ip地址字符串

s_id = InetAddress.getLocalHost().toString();

}

catch (UnknownHostException e)

{

e.printStackTrace();

}

}

/**

  • 缺省构造器

*/

public GuidGenerator()

{

}

/**

  • 缺省的产生随机GUID的方法

  • @return 正确返回32字节的字符串,错误则返回长度为零的字符串

*/

public static String genRandomGUID()

{

return genRandomGUID(false);

}

/**

  • 产生随机GUID的方法,考虑产生GUID的效率,将来可以应用设计模式,先生成一堆id并缓存

  • @param secure true : 带安全选项,用安全随机数对象生成

  •           false : 不带安全选项,用基本随机数对象生成
    
  • @return 正确返回32字节的字符串,错误则返回长度为零的字符串

*/

public static String genRandomGUID(boolean secure)

{

String valueBeforeMD5 = “”; //消息消化对象消化前的字符串

String valueAfterMD5 = “”; //经消息消化对象消化后的GUID字符串

MessageDigest md5 = null; //消息消化对象

StringBuffer sbValueBeforeMD5 = new StringBuffer();

try

{

md5 = MessageDigest.getInstance(“MD5”);

}

catch (NoSuchAlgorithmException e)

{

System.out.println("Error: " + e);

return valueBeforeMD5;

}

long time = System.currentTimeMillis(); //获得系统时间

long rand = 0; //随机数

if (secure) //用安全随机对象获得随机数

{

rand = mySecureRand.nextLong();

}

else

//用基本随机对象获得随机数

{

rand = myRand.nextLong();

}

//拼接组成GUID的各个信息

sbValueBeforeMD5.append(s_id);

sbValueBeforeMD5.append(“:”);

sbValueBeforeMD5.append(Long.toString(time));

sbValueBeforeMD5.append(“:”);

sbValueBeforeMD5.append(Long.toString(rand));
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

经过日积月累, 以下是小编归纳整理的深入了解Java虚拟机文档,希望可以帮助大家过关斩将顺利通过面试。
由于整个文档比较全面,内容比较多,篇幅不允许,下面以截图方式展示 。







由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
79771480)]

由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 14
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值