![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
文章平均质量分 56
Liaryank
厚德载物
展开
-
HashMap和ConcurrentHashMap(个人学习使用)
hashmap 数组+链表默认大小16如何进行存储?计算hash值 算出要存在数组上的位置,按照咱们通常的计算方式可能就是。hash%16 了。但大神的写法是(n-1)&hash其实大致是一个意思只不过这么计算更节省时间。n是数组初始大小16 减去1后转成二进制极为 1111(也就是转换二进制的1248) 咱们我所知的计算机二进制文件做&计算时,无论两个值短的那方会在前面用0补全,但无论0&1 还是1&0 计算结果都是1,只有1&1时计算结果才是1。(h原创 2021-03-20 23:21:24 · 200 阅读 · 0 评论 -
类加载过程(通俗易懂)
类的加载过程加载:loadclass 加载磁盘上的文件到内存中验证:检查文件格式是否正确,元数据验证(语法是否符合Java规范),确定语法含义,保证运气不会产生危害,符号引用验证。准备:给静态变量分配内存,赋予默认值解析:将二进制数据符号引用替换成直接引用,指向方法区的指针(也就是说和方法区进行使用指针交互)初始化:给静态变量赋值(也就是你之前代码里写的int a= 10 ,在这步才把10赋给a)使用:就是被调用卸载: 就是使用后被回收类的加载时机(也就是什么时候出发类被加载)访原创 2021-03-19 10:53:40 · 450 阅读 · 0 评论