环境搭建 zookeeper 下载安装(环境变量配置)使用3.4.14版本https://archive.apache.org/dist/zoo...
相对synchronized不同点 可以设置超时时间(阻塞多久获取不到锁就放弃) 可以中断(阻塞状态可以被中断放弃) 可以设置多个条件变量(wa...
为什么需要线程池 线程也是对象,频繁的创建销毁,系统开销较大,也会影响垃圾回收。 因为系统中的线程数量如果过多,会导致上下文切换,影响效率。 线...
Semaphore 信号量或者说叫管理器,它其实不是对资源加锁,而是控制最多N个线程可以同时访问资源。类似停车场,如果停满了,只能等待。 Cou...
synchronized原理 Monitor对象 每个对象都可以关联一个Monitor对象,如果使用 synchronized 给对象上锁(重量...
无锁 通过CAS+volatile来实现 CAS特点 基于乐观锁设计,不怕修改共享变量,修改了也没事,继续等待就可以。 synchronized...
AQS是阻塞式锁和相关同步器框架。 特点: 使用state来表示资源状态,子类维护状态,通过状态控制是否获取到锁getState - 获取 st...
HashMap HashMap存储的时key-value格式的实例。底层的存储结构是数组+链表格式。单个实例的格式 一些成员变量 transie...
String不可变说明 final说明 修饰类,标识该类不能被继承,该类的所有方法自动成为final方法 修饰方法,方法不能被重写 修饰基本数据...