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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!