jmm:内存模型,共享内存中多线程程序读写操作
cas乐观锁,比较再交换
volatile禁止指令重排序/编译优化器,写变量 volatile加代码最后,读变量则写开始位置
jcstress多线程测试工具
aqs:抽象队列同步器,
? ? reentrantlock 阻塞式锁,CAS+AQS,可中断/超时时间/设置公平锁/多条件变量/支持重入
? ? semaphore信号量
? ? countdownlatch倒计时锁
synchronized和lock 加方法和类锁类和对象
? ?s说关键字,jvm中,l接口jdk提供
? ?lock可打断,多种lock,公平锁/可打断/可超时/多条件变量
? ?没有竞争时s很多优化,偏向锁 轻量级锁 性能可以,竞争激烈lock更好的性能
jps查看进程信息
jstack进程堆栈信息
jconsole对jvm内存线程类监控
visualvm监控线程内存情况,查看方法cpu时间和内存中的对象
concurrenthashmap:
? ?1.7数组+数组
1.8 数组+链表+红黑树
? cas控制数组节点的添加+synhronized锁定当前链表/红黑树手节点??