并发编程——JUC中的重要组件(atomic、信号量、locks、ConcurrentHashMap、线程安全的集合类)这些你都知道吗?
JUC中的重要组件 原子类 java.util.concurrent.atomic java.util.concurrent.locks Callable/Future/FutureTask Semaphore信号量 线程安全的集合类 ConcurrentHashMap(重点) 理解HashMap的put方法的执行过程. 对比HashMap、HashTable、ConcurrentHashMap 原子类 java.util.concurrent.atomic 原子类内部用的是 CAS 实现,所以性能要比加锁实现 i++ 高很多。原子类有以下几个 AtomicBoolean/AtomicInteger/AtomicIntegerArray/AtomicLong/AtomicReference/AtomicStampedReference java.util.concurrent.atomic java.util.concurrent.locks ReentrantLock的加锁和解锁操作是分开的 使用更加灵活 常见方法 tryLock 付过获取锁失败是不会挂起等待的而是直接放弃等待 locklnterruptibly 设置等待锁的过程中是否会被异常中断 如果用户想自己实现锁, 就可以实现这个借口, 进一步开发 所以这个包的主要作用就是让用户实现一些自己定制的锁 java.util