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

代发货网站系统建设wordpress怎样美化网页

代发货网站系统建设,wordpress怎样美化网页,注册网络公司经营范围大全,网站的空间是啥synchronized 关键字 synchronized关键字解决的是多个线程之间访问资源的同步性#xff0c;synchronized关键字可以保证被它 修饰的方法或者代码块在任意时刻只能有一个线程执行。 另外#xff0c;在 Java 早期版本中#xff0c; synchronized属于重量级锁#xff0c;效率…synchronized 关键字 synchronized关键字解决的是多个线程之间访问资源的同步性synchronized关键字可以保证被它 修饰的方法或者代码块在任意时刻只能有一个线程执行。 另外在 Java 早期版本中 synchronized属于重量级锁效率低下因为监视器锁monitor是依赖于底层的操作系统的 Mutex Lock 来实现的Java 的线程是映射到操作系统的原生线程之上的。如果要挂起或者唤醒一 个线程都需要操作系统帮忙完成而操作系统实现线程之间的切换时需要从用户态转换到内核 态这个状态之间的转换需要相对比较长的时间时间成本相对较高这也是为什么早期的synchronized 效率低的原因。庆幸的是在 Java 6 之后 Java 官方对从 JVM 层面对synchronized 较 大优化所以现在的 synchronized 锁效率也优化得很不错了。JDK1.6对锁的实现引入了大量的优 化如自旋锁、适应性自旋锁、锁消除、锁粗化、偏向锁、轻量级锁等技术来减少锁操作的开销。 synchronized和lock区别 synchronized 关键字的底层原理 synchronized 关键字底层原理属于 JVM 层面。 ① synchronized 同步语句块的情况 public class SynchronizedDemo {public void method() {synchronized (this) {System.out.println(synchronized 代码块);}} }synchronized 同步语句块的实现使用的是 monitorenter 和 monitorexit 指令其中 monitorenter 指令指向同步代码块的开始位置monitorexit 指令则指明同步代码块的结束位置。 当 执行 monitorenter 指令时线程试图获取锁也就是获取 monitor(monitor对象存在于每个Java对象的 对象头中synchronized 锁便是通过这种方式获取锁的也是为什么Java中任意对象可以作为锁的原 因) 的持有权.当计数器为0则可以成功获取获取后将锁计数器设为1也就是加1。相应的在执行 monitorexit 指令后将锁计数器设为0表明锁被释放。如果获取对象锁失败那当前线程就要阻塞等待直到锁被另外一个线程释放为止。 ② synchronized 修饰方法的的情况 public class SynchronizedDemo2 {public synchronized void method() {System.out.println(synchronized 方法);} }synchronized 修饰的方法并没有 monitorenter 指令和 monitorexit 指令取得代之的确实是 ACC_SYNCHRONIZED 标识该标识指明了该方法是一个同步方法JVM 通过该 ACC_SYNCHRONIZED 访问标志来辨别一个方法是否声明为同步方法从而执行相应的同步调用。 synchronized 锁的优化机制 从JDK1.6版本之后synchronized本身也在不断优化锁的机制有些情况下他并不会是一个很重量 级的锁了。优化机制包括自适应锁、自旋锁、锁消除、锁粗化、轻量级锁和偏向锁。锁的状态从低到高依次为无锁-偏向锁-轻量级锁-重量级锁升级的过程就是从低到高降级在一定条件也是有可能发生的。 偏向锁在锁对象的对象头中记录⼀下当前获取到该锁的线程ID该线程下次如果⼜来获取该锁就可以直接获取到了 轻量级锁由偏向锁升级⽽来当⼀个线程获取到锁后此时这把锁是偏向锁此时如果有第⼆个线程来竞争锁偏向锁就会升级为轻量级锁之所以叫轻量级锁是为了和重量级锁区分开来轻量级锁底层是通过⾃旋来实现的并不会阻塞线程 如果⾃旋次数过多仍然没有获取到锁则会升级为重量级锁重量级锁会导致线程阻塞 ⾃旋锁⾃旋锁就是线程在获取锁的过程中不会去阻塞线程也就⽆所谓唤醒线程阻塞和唤醒这两个步骤都是需要操作系统去进⾏的⽐较消耗时间⾃旋锁是线程通过CAS获取预期的⼀个标记如果没有获取到则继续循环获取如果获取到了则表示获取到了锁这个过程线程⼀直在运⾏中相对⽽⾔没有使⽤太多的操作系统资源⽐较轻量。 Java对象结构 Java对象由三个部分组成对象头、实例数据、对齐填充。 1、对象头由两部分组成第一部分存储对象自身的运行时数据哈希码、GC分代年龄、锁标识状态、线程持有的锁、偏向线程ID一般占32/64 bit。第二部分是指针类型指向对象的类元数据类型即对象代表哪个类。如果是数组对象则对象头中还有一部分用来记录数组长度。 2、实例数据用来存储对象真正的有效信息包括父类继承下来的和自己定义的 3、对齐填充JVM要求对象起始地址必须是8字节的整数倍8字节对齐
http://www.hkea.cn/news/14437102/

相关文章:

  • 佛山信息技术网站开发市场推广方式有哪几种
  • 网站建网站建设网站站网站惠阳有做公司网站的吗
  • 网站seo和sem是什么意思临沂h5建站
  • 最新流行网站开发技术重庆品牌网站建设公司
  • 如何建设网站pdf下载wordpress论坛主题模板
  • 关于网站建设的调查问卷网站群建设工作培训会
  • 网站后台软件可以自己做吗怎么做 在线电影网站
  • 微网站欣赏曲阜网站设计
  • 网站毕设离型剂技术支持东莞网站建设
  • 淘宝客网站怎样做seo商城网站开发价格
  • 新乐市建设银行网站湖南长沙最新情况
  • 网站建设常用单词医疗器械监督管理条例2021
  • 交互式英语网站的构建自己的网站怎么做团购
  • 哈尔滨模板建站源码网站建设好后能直接打开吗
  • 南京外贸网站建设系统如何优化推广中的关键词
  • 建个网站视频网站建设套餐服务
  • saas是不是做网站网站域名注册备案教程
  • 高端网站开发多少钱外贸网站和企业网站
  • 简历生成网站外网视频网站做泥声控
  • 公司的网站推广怎么做上海闵行
  • 移动电商网站开发需求文档怎么做网站结构拓扑图
  • 苏州网站建设公司有哪些中国建设教育协会证书查询网站
  • 网站建站哪个品牌好海外推广广告
  • 东莞市电池网站建设饥饿营销案例
  • 保定制作网站软件广州哪里好玩的景点推荐
  • 成品网站 修改首页诏安建设局网站
  • 印刷网站开发的可行性报告温州网站开发流程
  • 做富集分析的网站it学校培训学校哪个好
  • 网站关键词排名系统品牌全案策划案例
  • 美观网站建设价格注册一个公司