自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

少伟的博客

一个喜欢阅读源码的码农

  • 博客(12)
  • 收藏
  • 关注

原创 11 CompletableFuture 源码注释

// tryFire()// 1、(d = dep) == null : 若上一阶段是异步的,completion放入堆栈后,上一阶段完成了,然后此线程// 执行tryFire() 就可能和上一阶段执行的线程产生竞争(上一阶段的线程调用postCompletion()方法,执行// 该completion的 tryFire()方法)。因此,此时dep可能为 null。// 2、如果将 completion放入上一阶段的堆栈时,刚好上一个阶段已经完成了,则压入堆栈会失败,但是由于上一...

2021-01-22 09:00:22 408

原创 10 ReentrantReadWriteLock

/** * 1、 如果已经有线程获取了读锁,线程A在等待获取写锁,此时线程B将要获取读锁 -- 如果线程B还没获取过读锁,因为有线程A在等待获取 * 写锁,所以会导致线程B阻塞;如果线程B是重入获取读锁,那么可以再次获取读锁,不可以阻塞线程B,一旦阻塞将导致读锁无法完全释放, * 导致死锁。 * */public class ReentrantReadWriteLock implements ReadWriteLock, java.io.Seriali...

2021-01-22 08:43:33 227

原创 9 AbstractQueuedSynchronizer源码注释

package java.util.concurrent.locks;import java.util.concurrent.TimeUnit;import java.util.ArrayList;import java.util.Collection;import java.util.Date;import sun.misc.Unsafe;public abstract class AbstractQueuedSynchronizer extends AbstractOwnab..

2021-01-22 08:40:20 229

原创 8 ConcurrentHashMap 源码注释2

/** * 如果指定的值key还没有关联到一个value,那么尝试使用给定的函数计算它的值, * 如果值不为null,则将它放入此map中 * If the specified key is not already associated with a value, * attempts to compute its value using the given mapping function * and enters it into this map un.

2021-01-21 08:59:09 253

原创 7 ConcurrentHashMap 源码注释1

public class ConcurrentHashMap<K,V> extends AbstractMap<K,V> implements ConcurrentMap<K,V>, Serializable { private static final long serialVersionUID = 7249069246763182397L;/* ---------------- Constants -------------- */ /.

2021-01-21 08:53:36 217

原创 1 ThreadPoolExecutor 源码注释

package java.util.concurrent;import java.util.concurrent.locks.AbstractQueuedSynchronizer;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.ReentrantLock;import java.util.concurrent.atomic.AtomicInteger;import java.util....

2021-01-20 09:26:26 251

原创 6 CountedCompleter 源码注释

package java.util.concurrent;/** * A ForkJoinTask ,当触发并且没有剩余的待处理操作时执行完成操作。 * A {@link ForkJoinTask} with a completion action performed when * triggered and there are no remaining pending actions. * 总的来说,与其他形式的forkjointask相比,CountedCompleters在存在子任务停..

2021-01-20 09:21:14 174

原创 5 ForkJoinTask 源码注释

package java.util.concurrent;import java.io.Serializable;import java.util.Collection;import java.util.List;import java.util.RandomAccess;import java.lang.ref.WeakReference;import java.lang.ref.ReferenceQueue;import java.util.concurrent.Callable;...

2021-01-20 09:19:05 345

原创 4 ForkJoinPool 源码注释2

/** * 运行任务直到isQuiescent()。我们利用活动计数ctl维护,但不是在找不到任务时阻塞, * 而是重新扫描,直到其他所有工作者也找不到任务。 * Runs tasks until {@code isQuiescent()}. We piggyback on * active count ctl maintenance, but rather than blocking * when tasks cannot be found, we re.

2021-01-20 09:06:00 162

原创 3 ForkJoinPool 源码注释1

package java.util.concurrent;import java.lang.Thread.UncaughtExceptionHandler;import java.util.ArrayList;import java.util.Arrays;import java.util.Collection;import java.util.Collections;import java.util.List;import java.util.concurrent.AbstractE...

2021-01-20 09:04:15 445

原创 2 ConcurrentSkipListMap 源码注释

/* * * * * * * Written by Doug Lea with assistance from members of JCP JSR-166 * Expert Group and released to the public domain, as explained at * http://creativecommons.org/publicdomain/zero/1.0/ */package java.util.concurrent;import java.i..

2021-01-20 08:57:13 245

原创 1、JAVA1.8 HashMap元素删除方法解析(图文并茂)

public V remove(Object key) { Node<K,V> e; // 删除元素 return (e = removeNode(hash(key), key, null, false, true)) == null ? null : e.value; }final Node&lt...

2019-07-17 14:18:34 950

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除