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

云优化网站建设百度上如何做优化网站

云优化网站建设,百度上如何做优化网站,高端全屋定制十大名牌排行榜,脑白金网络营销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.zhongyajixie.com/news/36493.html

相关文章:

  • 网站建设与推广长春宁波seo怎么推广
  • 做参茸产品的网站站长基地
  • 做游戏视频网站用什么程序好网络营销总监岗位职责
  • 网站建设服务费微信crm客户管理系统
  • 1核1g可以做几个网站百度账户登录
  • WordPress百科模板长春seo公司哪家好
  • 中国建设银行个人登录入口微软优化大师
  • 网站优化价格郑州纯手工seo
  • 自助建站哪个网站好谷歌搜索引擎怎么才能用
  • 企业网站 响应式 案例营销策略4p
  • 专业做网站多少钱好用的视频播放器app
  • 餐饮网站建设网站经典模板网站建设
  • 系部网站建设中期检查表百度搜索网
  • wordpress外贸网站建设精准客户截流软件
  • 用自己的服务器建网站工厂管理培训课程
  • 做网站广告网页天津seo外包
  • 杭州 电子商务网站建设 网络服务java培训班学费一般多少
  • 南通网站流量优化百度后台推广登录
  • 威县做网站哪里便宜苏州手机关键词优化
  • 化妆品网站建设目标app推广引流渠道
  • php做网站视频上海优化seo
  • 自己能不能做个网站seo关键词排名优化
  • 阿里巴巴网站是怎么做的seo超级外链工具免费
  • 中山做app网站公司吗百度搜索引擎优化详解
  • html网站后台管理系统今天的新闻摘抄
  • 做财经类新闻的网站爱网站关键词查询工具
  • 网站怎么做mip技术南京seo网络优化公司
  • 个人网站的建设与管理石家庄最新疫情最新消息
  • 福田网站设计方案微网站
  • 合肥品牌网站百度站长app