最近在找工作,也在夯实基础。今天差不多读了一整天的 并发map,特记录一点收获。 如何保证在并发情况下resize扩容时的安全性。 1、两个数组变量,均是成员变量(table nextTable),迁移时是以桶为单位,且会用synchronized锁住桶。只要桶迁移完了,会先将生成的新的数组放置到新 ...
分类:
其他好文 时间:
2020-07-19 11:22:49
阅读次数:
68
一、HashSet保证元素唯一原理: 依赖于hashCode()和equals()方法1、唯一原理: 1.1 当HashSet集合要存储元素的时候,会调用该元素的hashCode()方法计算哈希值 1.2 判断该哈希值对应的位置上,是否有元素 1.3 如果该哈希值位置上没有元素,那么就直接存储该元素 ...
分类:
其他好文 时间:
2020-07-19 00:31:43
阅读次数:
69
目录 一.ArrayList介绍 二.ArrayList源码分析 2.1 重要的属性 2.2 构造方法 2.3 添加元素 2.4 数组扩容 2.5 删除元素 2.6 数组缩容 2.7 获取元素 一.ArrayList介绍 ArrayList在平时开发过程中使用得特别频繁,它的底层是使用数组,存在线程 ...
分类:
编程语言 时间:
2020-07-18 23:00:14
阅读次数:
104
数组 实现一个支持动态扩容的数组 实现一个大小固定的有序数组,支持动态增删改操作 实现两个有序数组合并为一个有序数组 总结:数组扩容优先考虑使用Array的静态方法Resize,其次考虑把一个扩容的、临时的数组赋值给原数组。 什么是数据结构? 数据结构是计算机存储、组织数据的方式; 在实际应用中,根 ...
分类:
编程语言 时间:
2020-07-17 11:38:06
阅读次数:
65
创建一个至少有两个PV组成的大小为20G的名为testvg的VG;要求PE大小为16MB,而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录实验准备:增加一块20G的硬盘,其中划分一个10G的分区;增加一块10G的硬盘10G的分区和10G的硬盘组成pv[root@Centos7~]#echo"---">/sys/class/scsi_host/host0/scan[roo
分类:
其他好文 时间:
2020-07-17 01:19:21
阅读次数:
99
问题描述在VMwareWorkStation部署的一台linux服务器需要对内存进行扩容,关机后进行了内存扩容操作,重启服务器后,通过ssh工具无法远程登陆服务器
分类:
系统相关 时间:
2020-07-16 12:15:28
阅读次数:
244
1.JVM新加“即时编译”,将热点代码直接编成底层代码,减少增加翻译之后可能存在的通信歧义或效率问题; 2.字符集和字符编码 字符集:Unicode 字符编码: utf-8(这个是可变编码,需要1位用1位,需要15位放15位,最大可扩容到4字节,标记隔离的方式是这个字符的前2位来标识是否继续读); ...
分类:
编程语言 时间:
2020-07-14 18:37:38
阅读次数:
66
df -h 查看当前系统磁盘使用状况 fdisk -l 可以看见,我新添加了一块硬盘,大小为10G,新磁盘/dev/sdb fdisk /dev/sdb 对新的磁盘进行分区 在交互模式输入 vgdisplay -v 查看卷分组为centos pvcreate /dev/sdb1 为之前新增的分区创建 ...
分类:
其他好文 时间:
2020-07-14 18:02:21
阅读次数:
119
目录 1、引出问题 2、结论 3、分析过程 4、总结 回到顶部 1、引出问题 在前面讲解 HashMap 的源码实现时,有如下几点: ①、初始容量为 1<<4,也就是24 = 16 ②、负载因子是0.75,当存入HashMap的元素占比超过整个容量的75%时,进行扩容,而且在不超过int类型的范围时 ...
分类:
编程语言 时间:
2020-07-14 12:58:55
阅读次数:
57
ArrayList 底层:Object数组,非线程安全 默认容量:10,其实是0,第一次add时,才会主动去扩容 每一扩容,变为原来容量的1.5倍。10->15->22 /* */ private void grow(int minCapacity) /* */ { /* 254 */ int ol ...
分类:
其他好文 时间:
2020-07-12 18:57:47
阅读次数:
50