【工作感悟】linuxdocker运行windows镜像
线程
-
线程的启动 实现Runnab1e接口 继承Thread类 实现Callable接口 线程的状态 线程的方法 线程的优先级 守护线程 未捕获异常处理器
并发编程的问题
-
线程引入开销:上下文切换与内存同步 线程安全性(原子性+可见性) 死锁
线程间通信/线程同步 工具使用
-
synchronized Lock volatile Atomic
Lock使用 深入
-
可重入锁 ReentrantLock Condition与wait¬ify区别 await&signal 公平锁 读写锁 ReentrantReadWriteLock LockSupport(锁住的是线程,synchronized锁住的是对象) synchronized与Lock的区别 原子操作类使用
Java内存模型 线程同步工具原理
-
JMM抽象结构 指令重排序 内存屏障 happens-before(抽象概念,基于内存屏障) 顺序一致性 volatile原理 synchronized原理 原子操作原理 锁的比较 锁的优化 锁的分类 偏向锁(只有一个线程进入临界区) 轻量级锁(多个线程交替进入临界区) 重量级锁(多个线程同时进入临界区) CPU如何实现原子操作 Java如何实现原子操作 CAS在OpenJDK中的实现
同步容器
-
ConcurrentHashMap CopyOnWriteArrayList BlockingQueue ThreadLocal
同步工具使用
-
Semaphore (信号量) Cycli eBarrier (可循环使用的屏障/栅栏) Exchanger (两个线程交换数据) CountDownLatch (闭锁) FutureTask (Future实现类) 将批量同步操作转为异步操作(并行流/CompletableFuture) 多个异步任务合并 API
线程池使用
-
引入原因 继承体系 ExecutorService ScheduledExecutorService ThreadPoolExecutor 创建线程池 线程动态变化 扩展ThreadPoolExecutor ScheduledThreadPoolExecutor Executors CompletionService
J.U.C 源码解析
-
AQS的接口 AQS使用实例(互斥锁,tryAcquire只需一次CAS) AQS实现 同步队列 独占式同步状态 共享式同步状态 独占式超时获取同步状态 ReentrantLock公平锁 ReentrantReadWriteLock 读写状态的设计 写锁的获取与释放 读锁的获取与释放(放弃) 锁降级 LockSupport Condition 等待队列 AtomicInteger ThreadPoolExeuctor 状态转换 成员变量 构造方法 执行任务
并发体系思维导图
Java内存模型(JMM)
-
线程通信机制 内存模型 synchronized volatile DCL
并发基础
-
AQS CAS
锁
-
ReentrantLock ReentrantReadWriteLock Condition
并发工具类
-
CyclicBarrier CountDownLatch Semaphore Exchanger
其他
-
ThreadLocal Fork/Join
Java并发集合
-
ConcurrentHashMap ConcurrentLinkedQueue Concurr entSkipListMap ConcurrentSkipListSet
atomic
-
基本类型类 数组 引用类型 字段类
阻塞队列
-
ArrayBlockingQueue LinkedBlockingQueue PriorityBlockingQueue DelayQueue SynchronousQueue LinkedTransferQueue LinkedBlockingDeque
线程池
-
Executor Future
很多程序员,整天沉浸在业务代码的 CRUD 中,业务中没有大量数据做并发,缺少实战经验,对并发仅仅停留在了解,做不到精通,所以总是与大厂擦肩而过。
我把私藏的这套并发体系的笔记和思维脑图分享出来,理论知识与项目实战的结合,我觉得只要你肯花时间用心学完这些,一定可以快速掌握并发编程。
最后
这次要给大家分享总结的东西就是这些了
资料全都放在——******
最后再分享一份终极手撕架构的大礼包(学习笔记):分布式+微服务+开源框架+性能优化
最后
这次要给大家分享总结的东西就是这些了
资料全都放在——******
最后再分享一份终极手撕架构的大礼包(学习笔记):分布式+微服务+开源框架+性能优化