Loading

随笔分类 -  JDK源码剖析

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