当前位置: 首页 > news >正文

asp 微信网站长沙网络推广哪家好

asp 微信网站,长沙网络推广哪家好,做网站的内容资源,永春网站建设java对象包含了三个部分:对象头,实例数据和对齐填充。对象头又存放了:markWord和class point。classpoint :指向方法区,当前对象的类信息数据。markword:存储了很多和当前对象运行时的数据:例如…

java对象包含了三个部分:对象头,实例数据和对齐填充。

  • 对象头又存放了:markWord和class point。

  • classpoint :指向方法区,当前对象的类信息数据。

  • markword:存储了很多和当前对象运行时的数据:例如hashcode,锁状态标志,指向锁记录的指针。

锁标志位:主要用来区分锁的等级,无锁->偏向锁->轻量级锁->重量级锁;

synchronized的实现原理?

synchronized被编译后会成才monitorenter和monitorexit两个字节码指令,分别表示加锁和释放锁

monitorenter和monitorexit都是基于Monitor实现的。所谓的Monitor其实是一种同步工具,也可以说是一种同步机制。在Java虚拟机(HotSpot)中,Monitor是由ObjectMonitor实现的,可以叫做内部锁,或者Monitor锁。

ObjectMonitor的信息如下:

ObjectMonitor() {_header       = NULL;_count        = 0; // 记录线程获取锁的次数_waiters      = 0,_recursions   = 0;  //锁的重入次数_object       = NULL;_owner        = NULL;  // 指向持有ObjectMonitor对象的线程_WaitSet      = NULL;  // 处于wait状态的线程,会被加入到_WaitSet_WaitSetLock  = 0 ;_Responsible  = NULL ;_succ         = NULL ;_cxq          = NULL ;FreeNext      = NULL ;_EntryList    = NULL ;  // 处于等待锁block状态的线程,会被加入到该列表_SpinFreq     = 0 ;_SpinClock    = 0 ;OwnerIsThread = 0 ;}

synchronized的重量级锁讲解

  • 通过上文已知,monitor由Entry Set 和 Wait Set 两个等待区。

  • Entry Set:存放已经准备抢锁的线程。

  • Wait Set:存放执行wait等指令的线程。

  • 当某一个线程抢到锁,那么Owner就会指向改线程。改线程可以调用notify方法,随机唤醒一个线程进入Entry Set 区准备抢锁。

java1.6之后,synchronized有4种状态,无锁,偏向锁,轻量级锁和重量级锁。

无锁:不对资源放入synchronized代码块中。

偏向锁:对资源进行加锁,但是实际运行中只有一个线程获得这个锁。此时锁标志位还是01跟无锁是一样的。仅仅修改是否偏向锁的标志位,从0改到1.

当存在多个线程来获取这个锁时。偏向锁会升级为轻量级锁。但是又一个问题来了?当锁升级为轻量级时如何判断线程和锁之间的绑定关系呢?

轻量级锁和重量级锁都将前30bit修改为 指向栈中记录锁的指针 。此时这个指针会指向虚拟机栈中开辟的lockRecord,lockRecord存放的是MarkWord的副本和owner指针。

线程通过CAS尝试获取锁,一旦获取成功,将复制该对象的markword到自己的lockRecord,并修改owner指针,指向该对象。从而实现了线程和锁之间的绑定。

轻量级锁是多个线程在不同时间访问共享资源。

如果多个线程在同一时刻抢夺锁时,便会升级为重量级锁,就需要用到monitor机制,即如上文所述完全由jvm控制

http://www.yayakq.cn/news/540873/

相关文章:

  • 网站和微信同步建设昆明电子商务网站
  • 英雄联盟网站建设公司网站建设 费用
  • 国内wordpress主题网站泳衣服饰东莞网站建设
  • 专业定制网站开发广州 网站 建设
  • 做服装搭配图的网站有哪些在线平面设计软件免费版
  • 番禺网站推广公司求手机网址
  • 前端的网站重构怎么做个人网站 空间
  • 个人网站开发协议汕头网站制作找哪家
  • 阳江房产网站网站海外seo
  • 商城网站开发报海外自建站
  • 建设一个网站大概需要多久站长之家ping检测
  • 运营网站要多少费用网站建设分金手指排名十八
  • 建设工程信息发布网站怎么做免费域名网站
  • 大连网站建设找哪家好山东城市建设职业学院官方网站
  • 济宁门户网站建设建筑网站设计模版
  • 游戏交易网站开发高端网站建设方案
  • 合作在惠州做网站伊利集团网站建设怎么样呢
  • 运营什么网站好反腐网站建设的目的
  • 怎么做网站赚大钱网站 编码文档
  • 住房城乡建设网站查询美食网站开发的意义
  • 广州一起做网店网站官方模板多少钱一平方
  • 做得大气的网站专业的建设网站哪个好
  • 怎样做销售网站代写软文费用全网天下实惠
  • 酒类网站该怎么做企业内部网站设计
  • 眉山北京网站建设衡水注册公司流程和费用
  • 企业seo顾问服务阿亮免插件优化wordpress
  • 1网站免费建站WordPress中文旅游主题
  • 做网站都需要用到什么软件网站开发验收确认书
  • 网站到期不想续费淘宝店
  • 我来做煮官方网站企业线上培训课程