编码注意事项
Java基础
线程
常用开源工具类
常用锁
volatile、synchronized、ReentrantLock与CAS
Hashtable、HashMap、ConcurrentHashMap 等及常用阻塞队列
Hashtable、HashMap、ConcurrentHashMap等及常用阻塞队列
常用数据结构
优点 | 缺点 | 适用场景 | |
---|---|---|---|
CopyOnWriteArraySet | 线程安全、读写分离、可靠性高 | 在写入数据时需要复制一份数据,因此对内存的消耗较大 | 适用于写操作较少、读操作较多的场景 |
ConcurrentHashMap | 线程安全,使用了分段锁并发性能高 | 适合于高并发读写场景 | |
ReentrantReadWriteLock | 可重入读写锁 | ||
CountDownLatch | 倒计时锁,线程安全;简单易用;灵活性高 | 只能使用一次,CountDownLatch 创建之后不能被重复使用 | |
TreeMap | 高效的有序map | ||
LinkedBlockingQueue | 链表阻塞队列,不限制任务数量 | 由于没有固定的容量,可能会导致内存占用过大,需要注意内存管理 | |
SychronousQueue | |||
CompletableFuture | 异步编程 |