- 博客(3)
- 收藏
- 关注
原创 volatile工作原理
Java内存模型要了解volatile的工作原理,需要先了解到硬件层面的Java内存模型,如下:1.read(读取):当前线程从主内存中读取到变量的值2.load(载入):把读取到的变量值加载到当前工作内存上3.use(使用):从工作内存中对读取的数据进行计算4.assin(赋值):计算后的值重新赋值到工作内存5.store(存储):将工作内存数据写入主内存中6.write(写入):从主内存中把值传给主内存的变量7.lock(锁定):作用于主内存的变量,把一个变量变成单个线程独占8.unl
2021-05-24 13:45:21
294
6
原创 HashMap的hash位运算和扩容
HashMap1.7(数组+链表)1.数组长度:2的n次方,初始化长度不够会计算大于并最接近自定义长度的2的n次方的数值,例如3=>2^2, 11=>2^4, 12=>2^4, 17=>2^52.定位数据下标:时间复杂度O(n),通过hash位运算取余([key的hash] &[ 数组计算后的长度(2^n)-1])定位到数组下标位置(O(1)),可能会有hash冲突,冲突的hash使用链表保存(O(n))ps:位运算为什么是要2n-1,是因为2n的二进制数只有一个1,
2021-03-28 20:52:36
1462
2
原创 win7下安装Superset
win7下安装Superset1.安装2.安装sasl3.安装superset4.汉化1.安装1.首先需要安装python3.6(建议在官网下载)。2.安装 virtualenv。(因为Superset需要安装的组件较多,最好是使用virtualenv独立一套python环境。)若将Superset安装到python的安装目录下可能会影响原来python的开发运行环境,所以需要安装虚拟环境v...
2019-05-06 19:05:57
703
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人