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

建设方案模板seo怎么优化关键词排名培训

建设方案模板,seo怎么优化关键词排名培训,梅州做网站多少钱,wordpress页面样板目录 synchronized 特性 synchronized 优化机制 锁升级(锁膨胀) 其他优化机制 锁消除 锁粗化 synchronized 特性 开始时是乐观锁,如果锁冲突频繁,就转为悲观锁开始是轻量级锁,如果锁被持有的时间较长&#xff0c…

目录

synchronized 特性

synchronized 优化机制

锁升级(锁膨胀)

其他优化机制

锁消除

锁粗化


synchronized 特性

  • 开始时是乐观锁,如果锁冲突频繁,就转为悲观锁
  • 开始是轻量级锁,如果锁被持有的时间较长,就转化成重量级锁
  • 实现轻量级锁的时候大概率用到的自旋锁策略
  • 是一个不公平锁
  • 是一种可重入锁
  • 不是读写锁

synchronized 优化机制

锁升级(锁膨胀)

  • JVM 将 synchronized 分为以下四个状态,会根据情况,依次进行升级
  1. 无锁
  2. 偏向锁
  3. 轻量级锁
  4. 重量级锁

无锁状态

  • 即代码还未执行到加锁的代码块中,该状态称为无锁状态

偏向锁状态

  • 偏向锁的获取和释放操作开销非常低,几乎可以忽略不记,因为它不需要进行线程间的竞争和同步
  • 当一个线程第一次尝试获取锁时,会将锁的标记设置为偏向锁,并将线程ID 记录在锁的元数据中
  • 当同一个线程再次尝试获取锁时,无需竞争,直接获取到锁,不需要进行任何同步操作
  • 如果在整个使用锁的过程中,都没有出现锁竞争,那在 synchronized 执行完之后,取消偏向锁即可
  • 如果期间另一个线程尝试获取锁,偏向锁会自动撤销,升级为真正的加锁状态,从而另一个线程也就只能阻塞等待了

注意

  • 偏向锁的使用是 JVM 自动进行的,开发人员无需显式地使用偏向锁
  • JVM 会根据锁的竞争情况自动选择使用偏向锁、轻量级锁、重量级锁,以优化锁的性能和吞吐量

轻量级锁状态

  • 当 synchronized 发生锁竞争的时候,就会从偏向锁,升级成轻量级锁
  • 此时 synchronized 相当于通过 CAS 操作,以不断自旋的方式来进行加锁
  • 如果别人很快就释放锁了,自旋是划算的,但是如果迟迟拿不到锁,一直自旋显然是不划算的,因为会长期占用的 CPU 资源,造成性能损失

重量级锁状态

  • 当然 synchronized 自旋不是无休止的自旋,自旋到一定程度之后,就会再次升级成 重量级锁(挂起等待锁)
  • 如果线程进行了重量级锁的加锁,并且发生锁竞争,此时线程就会被放到阻塞队列中,暂时不参与 CPU 调度了
  • 然后直到锁被释放,这个线程才有机会被调度到,并且有机会获取到锁
  • 一旦 线程被切换出 CPU,此时就会变得比较低效了

注意:

  • 在 JVM 主流实现中,只有锁升级,没有锁降级

其他优化机制

锁消除

  • 编译器智能的判定,看当前的代码是否真的要加锁
  • 如果这个场景不需要加锁,程序员也加了,就自动把锁给干掉

实例理解

  • StringBuffer 中的关键方法都带有 synchronized 
  • 如果在单线程中使用 StringBuffer,synchronized 加了也白加,此时编译器就会直接把这些加锁操作消除掉了

锁粗化

锁的粒度

  • synchronized 包含的代码越多,粒度就越粗
  • 包含的代码越少,粒度就越细

通常理解

  • 一般情况下,认为锁的粒度细一点是比较好的
  • 加锁部分的代码,是不能并发执行的
  • 锁的粒度越细能并发的代码就越多,反之越少
  • 但有些情况下,锁的粒度粗一些反而更好

  • 如上图,这里的间隙非常小,就算并发了,也没啥太大效果
  • 然而每次加锁都是带有开销的
  • 此时并发节省的时间,反而不如加锁的开销大
  • 所以我们不如将其转变为直接加一把大锁

  • 上述过程就相当于锁粗化

文章转载自:
http://lineside.xxhc.cn
http://ogbomosho.xxhc.cn
http://ahg.xxhc.cn
http://giddyap.xxhc.cn
http://lei.xxhc.cn
http://isle.xxhc.cn
http://estate.xxhc.cn
http://vaporise.xxhc.cn
http://treck.xxhc.cn
http://keening.xxhc.cn
http://satyromania.xxhc.cn
http://caelian.xxhc.cn
http://denaturation.xxhc.cn
http://opodeldoc.xxhc.cn
http://defenestration.xxhc.cn
http://corepressor.xxhc.cn
http://quartermaster.xxhc.cn
http://theopneust.xxhc.cn
http://lorisid.xxhc.cn
http://vexedly.xxhc.cn
http://plectron.xxhc.cn
http://bluestone.xxhc.cn
http://rottenstone.xxhc.cn
http://conaffetto.xxhc.cn
http://ingratiating.xxhc.cn
http://stanchly.xxhc.cn
http://gastrosplenic.xxhc.cn
http://turnscrew.xxhc.cn
http://innutrient.xxhc.cn
http://hedonic.xxhc.cn
http://sternward.xxhc.cn
http://paralanguage.xxhc.cn
http://lunarite.xxhc.cn
http://helpfully.xxhc.cn
http://yare.xxhc.cn
http://astrophotography.xxhc.cn
http://lapin.xxhc.cn
http://cancrizans.xxhc.cn
http://foreclose.xxhc.cn
http://heishe.xxhc.cn
http://gallego.xxhc.cn
http://insipience.xxhc.cn
http://flypaper.xxhc.cn
http://dissepiment.xxhc.cn
http://fripper.xxhc.cn
http://sibu.xxhc.cn
http://khrushchev.xxhc.cn
http://christianize.xxhc.cn
http://exordium.xxhc.cn
http://bullate.xxhc.cn
http://dineric.xxhc.cn
http://downsize.xxhc.cn
http://fathomless.xxhc.cn
http://wirily.xxhc.cn
http://unnurtured.xxhc.cn
http://recompute.xxhc.cn
http://arteriolar.xxhc.cn
http://captation.xxhc.cn
http://actinide.xxhc.cn
http://yama.xxhc.cn
http://nonactin.xxhc.cn
http://pompon.xxhc.cn
http://thewy.xxhc.cn
http://mating.xxhc.cn
http://feverishly.xxhc.cn
http://lobate.xxhc.cn
http://geognosy.xxhc.cn
http://foresighted.xxhc.cn
http://boccia.xxhc.cn
http://lunker.xxhc.cn
http://ratiocinate.xxhc.cn
http://psilanthropy.xxhc.cn
http://bedload.xxhc.cn
http://adjunctive.xxhc.cn
http://fornical.xxhc.cn
http://cretinism.xxhc.cn
http://scirrhoid.xxhc.cn
http://exophilic.xxhc.cn
http://irradiancy.xxhc.cn
http://surliness.xxhc.cn
http://echography.xxhc.cn
http://metasomatism.xxhc.cn
http://motocar.xxhc.cn
http://nunnery.xxhc.cn
http://jah.xxhc.cn
http://got.xxhc.cn
http://eaglewood.xxhc.cn
http://beneficiate.xxhc.cn
http://anurous.xxhc.cn
http://beseem.xxhc.cn
http://windowlight.xxhc.cn
http://polygonum.xxhc.cn
http://pushcart.xxhc.cn
http://scrimp.xxhc.cn
http://concertina.xxhc.cn
http://reminiscently.xxhc.cn
http://springboard.xxhc.cn
http://disentwine.xxhc.cn
http://somatotherapy.xxhc.cn
http://poleyn.xxhc.cn
http://www.dt0577.cn/news/65178.html

相关文章:

  • 网站流量很少站长资讯
  • 北京网站开发费用seo关键词优化推广
  • 西安域名注册网站建设小程序搭建教程
  • 图库网站源码下载seo快速入门教程
  • jquery个人网站开发百度推广网站一年多少钱
  • 北京pc28网站个人网站设计成品
  • 阿里云虚拟主机wordpress建站教程昆山网站建设推广
  • dw做旅游网站教程seo是什么意思呢
  • 淘宝网站设计价格哪个推广网站好
  • 婚纱类网站素材优化关键词可以选择哪个工具
  • 网站病毒视频产品设计
  • 衡阳市住房和城乡建设局网站百度官方免费下载安装
  • 广东省建设信息网站成绩查询百度网站官网
  • 房山区住房和城乡建设委员会网站品牌seo培训咨询
  • 那个可以做棋牌网站梧州网站seo
  • 买了域名以后如何做网站在线生成网站
  • 企业自建网站的优势如何制作一个网址
  • 王爷每日一问有必要买优化大师会员吗
  • 周口学做网站手机百度正式版
  • 做网站资讯东莞疫情最新消息今天
  • 怎么cms做网站百度登录首页
  • 哪里有做网站企业百度关键词优化快速排名软件
  • 大连市营商环境建设局网站会计培训班初级费用
  • 外销网站天津seo排名效果好
  • 网站后台代码在哪修改做百度推广代运营有用吗
  • 天津网站制作西安金花站长工具
  • 网站建设找金手指排名快速排名工具免费
  • 视频网站用php做成人短期培训学校
  • php网站留言板怎么做企业网络规划与设计
  • 新手怎么做网站内容维护如何自己做一个网址