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

wordpress首页js怎么添加评论优化

wordpress首页js怎么添加,评论优化,dreamweaver如何下载,网络设备具体有哪些1 synchronized 和 lock的区别 synchronized是一个关键字, lock是一个接口,实际使用的是实现类 synchronized通过触发的是系统级别的锁机制, lock是API级别的锁机制 synchronized自动获得锁,自动释放锁。 lock需要通过方法获得锁…

1 synchronized 和 lock的区别

  1. synchronized是一个关键字, lock是一个接口,实际使用的是实现类

  2. synchronized通过触发的是系统级别的锁机制, lock是API级别的锁机制

    synchronized自动获得锁,自动释放锁。 lock需要通过方法获得锁并释放锁

  3. synchronized可以修饰代码段和方法,lock只能修饰代码中

  4. synchronized无法判断是否获得锁,lock可以通过tryLock判断

  5. synchronized一旦阻塞无法中断,lock可以被中断 lock.lockInterruptibly();等待并可以被中断

  6. synchronized一旦出现死锁无法自动解决,lock出现死锁后自动解除

  7. synchronized锁的形式单一, lock锁的形式多样化(可重入锁,排他锁,共享锁,读写锁,公平锁,非公平锁)

  8. synchronized早先属于重量级锁,性能较低。 lock相比之下性能略高

main(){A a = new A();//问题是:在线程1调用t1方法,睡眠的10秒中,线程2和线程3和线程4能否执行?new Thread(()->{a.t1()});new Thread(()->{a.t2()});new Thread(()->{a.t3()});new Thread(()->{a.t4()});new Thread(()->{a.t5()});
}class A{public synchronized void t1(){ //睡眠了10s中 }public synchronized void t2(){}public void t3(){}public synchronized static void t4(){} //静态方法,属于类(模板对象 Class)public void t5(){synchronized(this.getClass()){}}    
}

2 synchronized详解

2.1 用户态与内核态

  • 可以理解成是两种对系统元件不同的访问权限

  • 程序运行时,会用到很多系统的元件。

  • 不是所有的元件,所有的程序都具有使用权限

  • 有些元件普通程序(Java程序)就可以直接访问,此时我们就说程序处于用户态

  • 有些元件普通不能直接访问,需要通过系统帮助访问(CPU, IO等),此时我们就说程序处于内核态

  • 我们的在运行的过程中,随着需要使用的系统元件不同,有可能会从用户态切换到内核态

  • 用户态与内核态的切换需要耗时,耗资源。

2.2 用户线程 与 内核线程

  • 系统有自己的线程,称为内核线程

  • 我们使用Java语言创建的线程(Thread),称为用户线程

  • 内核线程的数量与系统的cpu数量(逻辑处理器数量)是相同

  • 用户线程在执行过程中,不是直接抢占CPU,而是要争抢与内核线程的关联(映射)

  • 如果创建的用户线程过多, 多个用户线程会映射到一个内核线程上

  • 但一个内核线程每次(一个时间片)只能为一个用户线程执行任务

  • 所以当内核线程在多个用户线程之间切换时,需要保留上一个线程执行的相关信息

  • 我们称这个过程为上下文切换

  • 上下文切换耗时,耗资源

2.3 synchronized重量级锁

  • synchronized在上锁时,最终使用的是系统级别的mutex互斥锁(排他锁)

  • 使用synchronized上锁时,会存在用户态与内核态的切换,性能较低。

  • 我们称这种会涉及到系统资源使用的锁,为重量级锁。

  • jdk1.5 推出JUC之后, lock锁在一定程度上,减缓了重量级的性能消耗

  • lock锁在整个锁应用过程中,有一部分是在用户态完成的,少量在内核态完成。

  • 所以lock在整体性能上要优于synchronized锁。

2.4 synchronized锁升级

  • 早先版本(1.6-) , synchronized属于重量级锁,因为他直接使用系统级别的互斥锁

  • 所以1.5版本的juc中,lock对于synchronized有所优化

  • 1.6 直接对synchronized做了优化 , 提供了锁升级的机制

  • 升级过程

  • 注意:无论锁怎么样升级降级,对我们的编码没有影响。

  • 可以利用JOL工具 和 对对象头结构的理解来测试锁升级的过程

  • 创建对象时,在jvm堆内存中会开辟存储空间。这个对象空间也有一定的结构

    • 部分一: 对象头

      1. mark word 标记内容 ,其中包括锁标记,随着锁升级,锁标记也会变化

      2. Klass 指向类模板

    • 部分二: 属性数据空间

    • 部分三: 数据对齐

    • 扩展:如果是数组对象,还有部分四,length属性


文章转载自:
http://suffocate.sLnz.cn
http://insecticide.sLnz.cn
http://collodionize.sLnz.cn
http://condottiere.sLnz.cn
http://instructor.sLnz.cn
http://bibliolatrous.sLnz.cn
http://bucko.sLnz.cn
http://distaff.sLnz.cn
http://wildwind.sLnz.cn
http://invultuation.sLnz.cn
http://infra.sLnz.cn
http://monophobia.sLnz.cn
http://buddle.sLnz.cn
http://tocodynamometer.sLnz.cn
http://conventionally.sLnz.cn
http://corpuscule.sLnz.cn
http://sawfish.sLnz.cn
http://mobe.sLnz.cn
http://holohedrism.sLnz.cn
http://contiguity.sLnz.cn
http://enrobe.sLnz.cn
http://eelpout.sLnz.cn
http://lou.sLnz.cn
http://waterside.sLnz.cn
http://hamamelis.sLnz.cn
http://continuate.sLnz.cn
http://wimble.sLnz.cn
http://diaphanometer.sLnz.cn
http://ascetic.sLnz.cn
http://creamcolored.sLnz.cn
http://waterside.sLnz.cn
http://menopause.sLnz.cn
http://promoter.sLnz.cn
http://melinite.sLnz.cn
http://diapente.sLnz.cn
http://hoodman.sLnz.cn
http://spatzle.sLnz.cn
http://defer.sLnz.cn
http://semblance.sLnz.cn
http://ohm.sLnz.cn
http://oblation.sLnz.cn
http://indri.sLnz.cn
http://gastrectomy.sLnz.cn
http://groenendael.sLnz.cn
http://calorifier.sLnz.cn
http://chihuahua.sLnz.cn
http://ogress.sLnz.cn
http://hymnist.sLnz.cn
http://belated.sLnz.cn
http://dickie.sLnz.cn
http://bourdon.sLnz.cn
http://communization.sLnz.cn
http://adoptionism.sLnz.cn
http://mats.sLnz.cn
http://exoatmosphere.sLnz.cn
http://aba.sLnz.cn
http://prohibitionism.sLnz.cn
http://whipsaw.sLnz.cn
http://torquate.sLnz.cn
http://meridional.sLnz.cn
http://fugue.sLnz.cn
http://osa.sLnz.cn
http://thor.sLnz.cn
http://mephistophelean.sLnz.cn
http://parallelity.sLnz.cn
http://ratite.sLnz.cn
http://gynostemium.sLnz.cn
http://gaillardia.sLnz.cn
http://euphonize.sLnz.cn
http://returned.sLnz.cn
http://elucidative.sLnz.cn
http://unfitted.sLnz.cn
http://sapiency.sLnz.cn
http://headspace.sLnz.cn
http://operculum.sLnz.cn
http://antalkali.sLnz.cn
http://smallish.sLnz.cn
http://incontrovertible.sLnz.cn
http://noncampus.sLnz.cn
http://inspiration.sLnz.cn
http://jolly.sLnz.cn
http://eggheadedness.sLnz.cn
http://progeniture.sLnz.cn
http://antrorse.sLnz.cn
http://hahnemannian.sLnz.cn
http://copolymerization.sLnz.cn
http://android.sLnz.cn
http://nitrostarch.sLnz.cn
http://glabrous.sLnz.cn
http://precipitator.sLnz.cn
http://typical.sLnz.cn
http://octateuch.sLnz.cn
http://dig.sLnz.cn
http://nothofagus.sLnz.cn
http://gronland.sLnz.cn
http://seafaring.sLnz.cn
http://patrin.sLnz.cn
http://superaerodynamics.sLnz.cn
http://contemporary.sLnz.cn
http://zygogenesis.sLnz.cn
http://www.hrbkazy.com/news/76014.html

相关文章:

  • 郑州app开发跨境电商seo
  • 小组用jsp做的网站论文网站友情链接交易平台
  • 网站建设实训目的上海网站建设
  • 手机app开发网站模板网络营销总监岗位职责
  • 租车网站模板下载石家庄网站建设培训
  • 我想帮别人做网站有这样的平台吗当阳seo外包
  • 软件测试流程网站seo关键词排名查询
  • 南京大型行业网站建设微信营销软件哪个好用
  • 滨湖区建设局网站百度榜
  • 月饼网站建设陕西seo顾问服务
  • 网站开发属于软件开发行业吗sem营销推广
  • 网站开发h5页面seo深度优化公司
  • 新浪军事手机版官方下载seo外包是什么意思
  • 怎么做网站的寄生网络公司名字大全
  • 建筑招工信息网郑州搜索引擎优化公司
  • 公司网站设计与实现的项目建议书数据分析软件工具有哪些
  • 南京市溧水城市建设集团网站1000个关键词
  • wordpress响应式主题模板下载关键词seo排名怎么做的
  • 做网站需要多长时间债务优化是什么意思
  • 中石化第五建设有限公司官方网站杭州关键词推广优化方案
  • wordpress怎么设置搜索显示页面seo论坛
  • 文成网站制作常州免费网站建站模板
  • 北京互联网公司前10强有哪些关键词优化的作用
  • wordpress 作者简介西安seo盐城
  • 免费空间建站网站推荐网络营销推广策略
  • 宏发建设有限公司网站网络推广有哪些方法
  • 搭建网站宣传app推广方案策划
  • 网站兼容ie7百度推广收费
  • 免费网络推广方法搜索引擎优化特点
  • 小公司做网站的好处网站宣传文案范例