![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发
吃小吃
这个作者很懒,什么都没留下…
展开
-
synchronize锁的膨胀及批量重偏向和撤销
一个java对象包含:对象头,数据,对齐填充; 对象头包含:markword(如上图),类类型指针(klass word,如上图),legth(若是数组对象有这个值)现在讲解下上图:上图是jvm64位的对象头在各种锁状态下的信息;正常情况markword占64bit ;klass word 占64bit(一般默认开启指针压缩的:会压缩到32bit)要分析对象头我们可以借助jo...原创 2019-10-22 17:48:21 · 1762 阅读 · 0 评论 -
并发之证明偏向锁存在
jdk锁的话synchronize在1.5之前都是重量级索,1.6之后有了偏向锁,轻量锁,重向锁;重向锁就是每次获取锁都要直接调用操作系统的函数(这里指linux系统)pthread_mutex_lock();偏向锁是第一次也会调用操作系统函数,之后就不会在调用了;证明之前先说java线程和os线程的关系;目前来说java和os线程是一一对应的;当在java中开一个线程的时候,调用star...原创 2019-10-15 23:44:01 · 212 阅读 · 0 评论