大纲1.Redisson可重入锁RedissonLock概述2.可重入锁源码之创建RedissonClient实例3.可重入锁源码之lua脚本加锁逻辑4.可重入锁源码之WatchDog维持加锁逻辑5.可重入锁源码之可重入加锁逻辑6.可重入锁源码之锁的互斥阻塞逻辑7.可重入锁源码之释放锁逻辑8.可重入锁源码之获取锁超时与锁超时自动释放逻辑9.可重入锁源码总结1.Redisson可重入锁Redisso
目录1.红黑树的定义性质和推论2.红黑树的旋转操作3.红黑树之添加结点的方法4.红黑树之删除结点的方法一5.红黑树之删除结点的方法二1.红黑树的定义性质和推论(1)红黑树的定义和性质(2)红黑树的推论(1)红黑树的定义和性质为了保持平衡二叉树的平衡性,插入和删除都要频繁调整结点的位置。为此在平衡二叉树的平衡标准上进一步放宽条件,引入红黑树的结构。为了理解红黑树,对于n个结点的红黑树,会引入n+1个
大纲1.FutureTask(Future/Callable)的使用例子2.FutureTask(Future/Callable)的实现原理3.FutureTask(Future/Callable)的源码分析4.CompletableFuture的基本介绍5.CompletionStage方法及作用说明6.CompletableFuture的实现原理分析7.CompletableFuture的核心
大纲1.Runnable接口与Callable接口(1)Runnable接口实现异步任务(2)Callable接口实现异步任务2.Future模式(1)Future模式的概念(2)Future接口的使用(3)FutureTask类的使用3.CompletableFuture的使用和异步编程(1)使用Future时的问题(2)CompletableFuture的使用例子(3)CompletableF
大纲1.ThreadLocal的特点介绍2.ThreadLocal的使用案例3.ThreadLocal的内部结构4.ThreadLocal的核心方法源码5.ThreadLocalMap的核心方法源码6.ThreadLocalMap的原理总结1.ThreadLocal的特点介绍(1)ThreadLocal的注释说明(2)ThreadLocal的常用方法(3)ThreadLocal的使用案例(4)Th
大纲1.线程池的优势和JUC提供的线程池2.ThreadPoolExecutor和Excutors创建的线程池3.如何设计一个线程池4.ThreadPoolExecutor线程池的执行流程5.ThreadPoolExecutor的源码分析6.如何合理设置线程池参数 + 定制线程池1.线程池的优势和JUC提供的线程池(1)为什么使用线程池(2)线程池的优势(3)JUC提供的线程池(1)为什么使用线程
大纲1.标志位修改场景优先使用volatile(服务优雅停机)2.数值递增场景优先使用Atomic类(心跳计数器)3.共享变量仅对当前线程可见的场景优先使用ThreadLocal(edits log的处理)4.读多写少需要加锁的场景优先使用读写锁(服务注册表的并发读写)5.尽量减少线程对锁占用时间(edits log分段加锁)6.尽量减少线程对数据加锁的粒度(库存分段扣减)7.尽量按不同功能进行锁
大纲1.并发安全的数组列表CopyOnWriteArrayList2.并发安全的链表队列ConcurrentLinkedQueue3.并发编程中的阻塞队列概述4.JUC的各种阻塞队列介绍5.LinkedBlockingQueue的具体实现原理6.基于两个队列实现的集群同步机制1.并发安全的数组列表CopyOnWriteArrayList(1)CopyOnWriteArrayList的初始化(2)基
大纲1.JDK 1.7的HashMap的死循环与数据丢失2.ConcurrentHashMap的并发安全3.ConcurrentHashMap的设计介绍4.ConcurrentHashMap的put操作流程5.ConcurrentHashMap的Node数组初始化6.ConcurrentHashMap对Hash冲突的处理7.ConcurrentHashMap的并发扩容机制8.ConcurrentH
大纲1.等待多线程完成的CountDownLatch介绍2.CountDownLatch.await()方法源码3.CountDownLatch.coutDown()方法源码4.CountDownLatch总结5.控制并发线程数的Semaphore介绍6.Semaphore的令牌获取过程7.Semaphore的令牌释放过程8.同步屏障CyclicBarrier介绍9.CyclicBarrier的a
大纲1.ReentractReadWriteLock的基本原理2.基于AQS实现的ReentractReadWriteLock3.ReentractReadWriteLock如何竞争写锁4.ReentractReadWriteLock如何竞争读锁5.ReentractReadWriteLock的公平锁和非公平锁6.ReentrantReadWriteLock中的锁降级7.Condition的说明介
大纲1.JUC中的Lock接口2.如何实现具有阻塞或唤醒功能的锁3.AQS抽象队列同步器的理解4.基于AQS实现的ReentractLock5.ReentractLock如何获取锁6.AQS如何基于state变量实现可重入锁7.AQS如何处理CAS加锁失败的线程8.AQS的acquire()方法获取锁的流程总结9.ReentractLock如何释放锁10.ReentractLock的响应中断和超时
大纲1.wait()与notify()实现一个简易的内存队列2.wait()与notify()的底层原理3.分布式存储系统NameNode机制介绍4.分布式存储系统的edits log机制介绍5.分布式存储系统的NameNode实现6.分布式存储系统的创建目录功能的实现7.edits log的全局txid机制和双缓冲机制实现8.synchronized实现edits log分段加锁机制9.wait
大纲1.volatile关键字的使用例子2.主内存和CPU的缓存模型3.CPU高速缓存的数据不一致问题4.总线锁和缓存锁及MESI缓存一致性协议5.Java的内存模型JMM6.JMM如何处理并发中的原子性可见性有序性7.volatile如何保证可见性8.volatile为什么无法保证原子性9.volatile如何保证有序性10.volatile的原理(Lock前缀指令 + 内存屏障)11.双重检查
大纲1.什么是线程以及并发编程2.微服务注册中心案例3.以工作线程模式开启微服务的注册和心跳线程4.微服务注册中心的服务注册功能5.微服务注册中心的心跳续约功能6.微服务的存活状态监控线程7.以daemon模式运行微服务的存活监控线程8.一般不常用到的ThreadGroup是什么9.一般不会手动设置线程的优先级10.Thread线程的初始化过程11.Thread线程的启动过程12.sleep()方
大纲1.为什么要对JDK源码剖析2.ArrayList源码一:基本原理以及优缺点3.ArrayList源码二:核心方法的原理4.ArrayList源码三:数组扩容以及元素拷贝5.LinkedList源码一:优缺点和使用场景6.LinkedList源码二:双向链表数据结构7.LinkedList源码三:插入元素的原理8.LinkedList源码四:获取元素的原理9.LinkedList源码五:删除元
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号