
Java 源码阅读
文章平均质量分 70
轻云K
这个作者很懒,什么都没留下…
展开
-
LockSupport 的简单介绍和AQS的简单说明
LockSupport 的简单介绍和AQS的简单说明原创 2021-02-02 16:47:02 · 323 阅读 · 3 评论 -
线上死锁引发的思考----能否直接中断死锁的线程,达到不用维护就能把死锁的线程干掉
背景:最近线上的项目发生了死锁,从而引发了我一个想法,能不能动态的将死锁的线程结束掉,达到不用重启的效果。知识点//线程有个中断的标志,我们可以标志线程处于中断状态,期待程序能够做出相应的操作,一般能做出反应的话都会//抛出InterruptedException if(!thread.isInterrupted()){ thread.interrupt(); }synchronized :不可中断锁,在同步代码中获取锁的操作是无法中断的,就原创 2020-08-29 01:00:51 · 422 阅读 · 0 评论 -
ArrayList 源码阅读和LinkedList源码阅读 比较笔记
基于jdk 1.8 ArrayList 源码 和 LinkedList 源码ArrayList 的底层结构是数组的存储结构 LinkedList是基于链表的存储结构 他们都是线程不安全的集合构造方法的比较ArrayList的源码在这里插入代码片原创 2020-07-06 00:21:29 · 137 阅读 · 0 评论 -
Hashtable 源码阅读笔记和HashMap的比较
基于jdk 1.8 Hashtable 源码阅读Hashtable 是类似于HashMap 的结构的线程安全的key-value 的存储容器,Hashtable 中的方法大都是使用synchronized 修饰,他的存储结构是基于数组+链表的形式关于HashMap的基本的介绍可以看HashMap 的源码阅读笔记构造方法的比较Hashtable//一般都不用这个public Hashtable(int initialCapacity, float loadFactor) { if原创 2020-07-03 00:56:42 · 109 阅读 · 0 评论 -
HashMap源码阅读笔记
基于jdk1.8 的HashMap 源码阅读HashMap的存储结构是数组+链表的形式,在jdk1.8中这样说也不完全准确,应该是数组+链表(红黑树)附上一张丑丑的图put的源码是public V put(K key, V value) { return putVal(hash(key), key, value, false, true); }在HashMap中用于计算hash的方法是static final int hash(Object key) {原创 2020-07-01 00:44:30 · 182 阅读 · 0 评论