• HOME
  • SEARCH
  • TOPICS
  • DATA

  • Java 并发编程之 ConcurrentHashMap 1.8 源码分析

    Forwarding node 扩容时如果某个索引位置的节点迁移完毕,用ForwardingNode作为旧table的头节点。 get spread方法保证获取

    2021-10-30, Views: 2271 , Topics: Java juc

  • Java 并发编程之 ConcurrentHashMap 1.7 源码分析

    Segment JDK1.7中基于Segment数组实现。Segment类继承自ReentrantLock,增加了HashEntry数组。 Segment数组一

    2021-10-29, Views: 2838 , Topics: Java juc

  • 为什么 HashMap 长度必须是 2 的 n 次幂

    2 的 n 次幂 1后面n个0 如: 2^3 = 1000 2^6 = 1000000 取索引的算法 取索引的算法是对hash值取模:hash%length,

    2021-10-22, Views: 2361 , Topics: Java 面试

  • JDK 1.8 HashMap 源码分析

    数据结构 数组 + 单链表 + 红黑树 哈希冲突解决方法 尾插方式 if ((p = tab[i = (n - 1) & hash]) == null)

    2021-10-20, Views: 2519 , Topics: Java 面试

  • JDK 1.7 HashMap 源码分析

    数据结构 数组 + 单链表 哈希冲突解决方法 头插方式 void createEntry(int hash, K key, V value, int bucke

    2021-10-14, Views: 3371 , Topics: Java 面试

  • Java 并发编程之 AQS CyclicBarrier 源码解析

    说明 CyclicBarrier与CountDownLatch的差别在于:CyclicBarrier可重复使用,而CountDownLatch在计数归0后就不能

    2021-10-13, Views: 2496 , Topics: Java juc AQS

  • Java 并发编程之 AQS CountDownLatch 源码解析

    init // java.util.concurrent.CountDownLatch#CountDownLatch public CountDownLatch

    2021-10-12, Views: 2847 , Topics: Java juc AQS

  • Java 并发编程之 AQS Semaphore 源码解析

    init // java.util.concurrent.Semaphore.Sync#Sync abstract static class Sync exte

    2021-10-11, Views: 2838 , Topics: Java juc AQS

  • Java 并发编程之 AQS ReentrantReadWriteLock 读写锁源码解析

    Read Lock public ReentrantReadWriteLock.ReadLock readLock() { return readerLoc

    2021-10-08, Views: 2378 , Topics: Java juc AQS

  • Java 并发编程之 AQS ReentrantLock await signal 源码解析

    说明 将ConditionObject中维护的队列称为条件队列。 将AQS中维护的Node队列称为同步队列。 await // java.util.concur

    2021-10-07, Views: 2864 , Topics: Java juc AQS

  • Java 并发编程之 AQS ReentrantLock 可中断锁源码解析

    部分源码 java.util.concurrent.locks.ReentrantLock#lockInterruptibly public void lock

    2021-10-05, Views: 2480 , Topics: Java juc AQS

  • Java 并发编程之 AQS ReentrantLock 公平锁源码解析

    部分源码 java.util.concurrent.locks.ReentrantLock.FairSync static final class FairSy

    2021-10-05, Views: 2747 , Topics: Java juc AQS

  • Java 并发编程之 AQS ReentrantLock 非公平锁源码解析

    说明 本文基于Java11。 部分源码 // java.util.concurrent.locks.AbstractQueuedSynchronizer pub

    2021-10-04, Views: 3086 , Topics: Java juc AQS

  • Java 并发编程之 happens-before 7 条规则

    定义 规定了对共享变量的写操作对其他线程的读操作可见。 它是可见性与有序性的一套规则总结。 synchronized 假设t1先执行:t1线程解锁m前对x变量的

    2021-09-28, Views: 2542 , Topics: Java juc

  • Java @Contended 避免缓存行伪共享

    相关名词 CPU缓存、缓存行、伪共享。 CPU 缓存 缓存行 Cache Line CPU读取内存数据时并非一次只读一个字节,而是会读一段字节长度(不同CPU

    2021-09-27, Views: 3129 , Topics: Java juc

  • Java 并发编程之 LongAdder 源码解析

    基本用法 public class LongAdderDemo { public static void main(String[] args) {

    2021-09-26, Views: 2771 , Topics: Java juc

  • Java 并发编程之 AtomicIntegerFieldUpdater AtomicLongFieldUpdater AtomicReferenceFieldUpdater

    说明 并发原子修改器,保证在多线程环境下对象中的字段的原子性。 示例 对象类 public class FieldUpdaterTest { vola

    2021-09-24, Views: 2305 , Topics: Java juc

  • Java 并发编程之 AtomicIntergerArray AtomicLongArray AtomicReferenceArray

    说明 原子并发数组,保证在多线程下对每个索引位置上的元素的原子性。 AtomicIntergerArray Integer类型数组。 public class

    2021-09-24, Views: 1718 , Topics: Java juc

  • Java 并发编程之 AtomicMarkableReference

    说明 AtomicStampedReference解决了ABA问题,但需要每次修改版本号比较繁琐,AtomicMarkableReference只关心是否有改动

    2021-09-23, Views: 2368 , Topics: Java juc

  • Java 并发编程之 AtomicStampedReference

    说明 AtomicReference不能保证ABA问题,故引入了版本标记AtomicStampedReference。 代码 public class Atom

    2021-09-21, Views: 3180 , Topics: Java juc

  • First Prev
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • Next Last

©2025 沪ICP备18012661号-1 阿里云

Messages Sitemap GitHub