{
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开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
![img](https://img-blog.csdnimg.cn/img_convert/9eb504684fa203a4e541c1a5291f4ed7.jpeg)
最后
经过日积月累, 以下是小编归纳整理的深入了解Java虚拟机文档,希望可以帮助大家过关斩将顺利通过面试。
由于整个文档比较全面,内容比较多,篇幅不允许,下面以截图方式展示 。
由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
79771480)]
由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!