- 博客(3)
- 收藏
- 关注
原创 hash值的计算及HashMap的get(),put(),remove()方法解析
为2^n时,槽位数-1 得到的低n位全部为1,进行与运算时,保留下来的是hash的低n位,如果不是2^n次方,比如为2^n+1,槽位数-1,低n位全为0,进行与运算得到的结果为低n+1位与的结果,该位要么为0要么为1,所以最后得到的槽位为0或2^n,所有hash运算的结果都得到这两个数字,所有结果都保留在这两个槽位中。异或(^)是为 0,1的情况得到1,& 为1,1时得到1,它对高位或者低位的变化反应不灵敏,低位位0时,高位由1变0,hash对应的值仍为0,没有发生变化;而hashmap在put时,
2024-03-24 10:45:56 1721
原创 逻辑移位,算术移位,循环移位
带有双符号位的数移动时,只有最高位的符号位不变,剩下的一个符号位参与移位。左移:最高位符号位不变,剩下的依次左移一位,尾部补零。右移:依次右移,尾部丢失,符号位右移并复制。左移:最高位重新放在最低位。左移:最高位丢失,最低位补零。右移:最低位丢失,最高位补零。右移:最低位放在最高位。
2023-10-13 19:52:16 196
原创 用户空间,内核空间,用户态,内核态
内核态的CPU可以访问内核空间和用户空间,用户态下的CPU只能访问用户空间。是操作系统内核可以访问的区域,是受保护的内存空间,用户程序不能进行访问。内存空间分为两部分:用户空间和内核空间。:进程/线程运行在内核空间就是内核态。:进程/线程运行在用户空间就是用户态。是用户程序能够进行访问的内存区域。
2023-10-11 22:48:05 202
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人