随笔分类 - JDK源码剖析
摘要:ConcurrentHashMap 是Java并发包中提供的一个线程安全且高效的HashMap实现 HashMap的缺点: 多线程环境下HashMap会有线程安全问题,扩容可能会造成环形链表,使cpu空转达到100%,但是HashTable可以保证线程安全 HashTable缺点: 底层使用sync
阅读全文
摘要:LinkedList集合特点及源码分析 LinkedList是List接口的实现类 public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.i
阅读全文
摘要:Vector源码分析 Vector于ArrayList类似同样是数组类型,但是是线程安全的,为什么线程安全?在增删改方法中都加上了synchronized关键字 成员变量 protected Object[] elementData;//存储ArrayList元素的临时数组 protected in
阅读全文
摘要:ArrayList集合特点及源码分析 ArrayList是List接口的实现类 public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Seriali
阅读全文
摘要:前置知识 ==和equals的区别 对于基本类型变量来说,只能使用 == ,因为基本类型的变量没有方法。使用==比较是值比较 对于引用类型的变量来说,==比较的两个引用对象的地址是否相等。所有类都是继承objcet类,而object类是equals方法比较的也是对象的地址是否相等,如果类没有重写eq
阅读全文
摘要:ReentrantLock是lock接口的一个实现类,里面实现了可重入锁和公平锁非公平锁 ReentrantLock公平锁和不公平锁实现原理 公平锁会获取锁时会判断阻塞队列里是否有线程再等待,若有获取锁就会失败,并且会加入阻塞队列 非公平锁获取锁时不会判断阻塞队列是否有线程再等待,所以对于已经在等待
阅读全文

浙公网安备 33010602011771号