synchronized
锁定对象
在方法上=锁定this对象
static方法上=锁定class对象
出现异常,锁会被释放
锁定的是堆对象,不是栈引用
不要用String对象进行锁
脏读
业务写方法加锁 读方法不加锁 容易产生脏读
volatile
保证可见性,不保证原子性
wait notify使用
countDownlatch门栓使用
Lock
ReentranLock使用
生产者消费者模型
wait跟while一起用的原因 notifyAll的原因
Lock的condition await signalAll
ThreadLocal
Map
Hashtable hashmap concurrentHashMap
有序:TreeMap concurrentskiplistMap
List
Arraylist linkedlist Vector CopyOnWriteArrayList
collections.synchronizedXXX 加锁集合
Queue
concurrentLinkedqueue
并发加锁
offer尾部放 poll头部拿了删 peek头部拿了不删
BlockingQueue
阻塞式
put 满了等待 take空了等待 java自带的生产消费模式
linkedBlockingQueue无界
arrayBlockingQueue有界
TransferQueue
SynchronusQueue
add offer put 区别
add 满了报错
offer 满了不报错 返回false
put 满了等待
DelayQueue执行定时任务
并发框架
disruptor netty
线程池
Executor
ExecutorService
Callable&runable区别
Callable有返回 runable无返回
Executors
future
threadpool
fixed
cached
single
scheduled
workstealing
forkjoin
相关推荐
### Java并发编程知识点详解 #### 一、线程状态与管理 在Java中,线程具有多种状态,这些状态的变化反映了线程在其生命周期中的不同阶段。理解这些状态及其转换对于编写高效、健壮的并发程序至关重要。 - **NEW**...
Java并发编程是Java开发中必不可少的一部分,涉及到多线程、同步机制、线程池以及并发工具类等多个核心知识点。以下是对这些主题的详细说明: 1. **线程安全与锁 Synchronized 底层实现原理**: 线程安全是指在多...
这本书的读书笔记涵盖了多个关键知识点,旨在帮助读者深入理解Java并发编程的核心概念。 1. **线程和进程的区别** - **线程** 是程序执行的最小单位,一个进程中可以有多个线程同时执行,共享同一块内存空间,通信...
Java并发编程中的ConcurrentHashMap是HashMap的一个线程安全版本,设计目标是在高并发场景下提供高效的数据访问。相比HashTable,ConcurrentHashMap通过采用锁分离技术和更细粒度的锁定策略来提升性能。HashTable...