- 博客(4)
- 收藏
- 关注
原创 Java集合类Collection包括ArrayDeque,ArrayList,LinkedList,HashSet,LinkedHashSet和Map接口HashMap,LinkedHashMap
Collection Collection是单列集合类的顶级接口,没有直接实现类,只有更具体细分的接口,如List和Set。 collections可以是有序的,无须的,允许重复的,不允许重复的。 Queue Queue是Collection的子接口 public interface Queue<E> extends Collection<E> { // 队列中插入元素e,成功返回true,空间不够抛异常(IllegalStateException) boolean
2022-03-08 09:12:12
531
原创 ReentrantLock&AQS
概括 AQS实际就是通过修改state值来代替加锁操作,竞争成功的线程加锁成功代码继续向下执行,竞争失败的线程可能会进入排队队列休眠等待锁释放被唤醒,线程休眠前需要告知前一个线程自己需要被唤醒(修改前一个线程所在Node的waitStatus值(钩子?)),锁释放(unlock)时通过waitStatus值判断下一个节点是否需要被唤醒。支持公平锁非公平锁,支持线程取消重入。 自旋,通过自旋尽量避免线程睡眠 park/unpark,实现线程睡眠和唤醒 CAS,CAS修改state值头结点等 重点字段 st
2021-03-22 11:27:24
171
原创 java.util.concurrent.ConcurrentHashMap#initTable方法中双重检测是否有必要
读ConcurrentHashMap源码有一点疑问。 /** * Initializes table, using the size recorded in sizeCtl. */ private final Node<K,V>[] initTable() { Node<K,V>[] tab; int sc; while ((tab = table) == null || tab.length == 0) {
2021-02-24 21:38:36
347
原创 unbutu sudo apt-get install git 和 apt-get update时报 暂时不能解析域名“ archive.ubuntu.com” 安装失败
在网上查询了几个帖子,都说时DNS服务器配置问题,于是重新配置DNS服务器配置如下:1 点击网络链接按钮2 编辑在用的网络3 在对应的标签页设置DNS服务地址,我用的时IPV4,在vmware虚拟机上用桥接方式,所以直接和我window7主机上的DNS地址保持一致。再来执行sudo apt-get install git 成功了
2018-01-18 11:16:40
8320
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人