jvm与jmm

jmm:内存模型,共享内存中多线程程序读写操作

cas乐观锁,比较再交换

volatile禁止指令重排序/编译优化器,写变量 volatile加代码最后,读变量则写开始位置

jcstress多线程测试工具

aqs:抽象队列同步器,

    reentrantlock 阻塞式锁,CAS+AQS,可中断/超时时间/设置公平锁/多条件变量/支持重入

jvm与jmm_第1张图片

    semaphore信号量

    countdownlatch倒计时锁

synchronized和lock 加方法和类锁类和对象

   s说关键字,jvm中,l接口jdk提供

   lock可打断,多种lock,公平锁/可打断/可超时/多条件变量

   没有竞争时s很多优化,偏向锁 轻量级锁 性能可以,竞争激烈lock更好的性能

jps查看进程信息

jstack进程堆栈信息

jconsole对jvm内存线程类监控

visualvm监控线程内存情况,查看方法cpu时间和内存中的对象

concurrenthashmap:

   1.7数组+数组

jvm与jmm_第2张图片

1.8 数组+链表+红黑树

  cas控制数组节点的添加+synhronized锁定当前链表/红黑树手节点  

你可能感兴趣的:(jvm)