jvm与jmm

2024-01-09 11:33:05

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锁定当前链表/红黑树手节点??

文章来源:https://blog.csdn.net/ma15732625261/article/details/134422297
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。