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

深圳哪家做网站好全球十大搜索引擎

深圳哪家做网站好,全球十大搜索引擎,dw做的网站如何让文字换行,小型电子商务企业网站建设有序性的概念 Java文件在被cpu执行前会进行编译成cpu可以执行的指令,为了提高cpu的执行效率会对其中的一些语句进行重排序。Java指令最终是乱序执行的目的是为了提高cpu的执行效率,发挥cpu的性能 单例模式由于指令重排可能会出现上述的问题&#xff0…

有序性的概念

  • Java文件在被cpu执行前会进行编译成cpu可以执行的指令,为了提高cpu的执行效率会对其中的一些语句进行重排序。
  • Java指令最终是乱序执行的目的是为了提高cpu的执行效率,发挥cpu的性能
    在这里插入图片描述

单例模式由于指令重排可能会出现上述的问题,原因就在于当你new出一个对象的时候,jvm将这个步骤分为了三个部分。开辟空间,初始化,指针指向开辟空间的地址。所以当出现指令重排的时候,只需要上述的最后两个步骤发生调换就会出现问题,导致空指针异常。

as-if-serial

as-if-serial语义:

不论指定如何重排序,需要保证单线程的程序执行结果是不变的。

而且如果存在依赖的关系,那么也不可以做指令重排。

happens-before

具体规则:

1. 单线程happen-before原则:在同一个线程中,书写在前面的操作happen-before后面的操作。
  2. 锁的happen-before原则:同一个锁的unlock操作happen-before此锁的lock操作。
  3. volatile的happen-before原则: 对一个volatile变量的写操作happen-before对此变量的任意操作。
  4. happen-before的传递性原则: 如果A操作 happen-before B操作,B操作happen-before C操作,那么A操作happen-before C操作。
  5. 线程启动的happen-before原则:同一个线程的start方法happen-before此线程的其它方法。
  6. 线程中断的happen-before原则:对线程interrupt方法的调用happen-before被中断线程的检测到中断发送的代码。
  7. 线程终结的happen-before原则:线程中的所有操作都happen-before线程的终止检测。
  8. 对象创建的happen-before原则:一个对象的初始化完成先于他的finalize方法调用。
JMM只有在不出现上述8中情况时,才不会触发指令重排效果。

不需要过分的关注happens-before原则,只需要可以写出线程安全的代码就可以。

volatile

volatile实现解决指令重排的问题是添加内存屏障。

http://www.dinnco.com/news/62796.html

相关文章:

  • 温州网站建设备案今日冯站长之家
  • 网站丢失了怎么办啊网络推广策划方案
  • 重庆h5建站域名查询网
  • 北京网站建设公司现状重庆百度推广seo
  • 菏砖网站建设无锡百度竞价公司
  • 98建筑网站如何进行新产品的推广
  • 深圳医疗网站建设报价深圳互联网营销
  • 南昌网站设计有限公司最好用的搜索引擎
  • 可以做公众号的网站百度指数官网查询入口
  • 网站的三种基本类型小红书信息流广告
  • 餐饮公司做网站的好处合肥百度关键词排名
  • 山西搜索引擎优化什么是seo标题优化
  • ps素材免费下载素材库长沙seo网络营销推广
  • 怎么做转载小说网站关键词优化seo外包
  • wordpress评论框必填加星百度视频排名优化
  • 黑色背景的网站开发工具山东百度推广总代理
  • 专门代做毕设的网站大连百度关键词优化
  • 做像素画的网站公司做网站怎么做
  • 上海免费网站建设咨询新闻最近的新闻
  • 2b2网站开发中国免费网站服务器主机域名
  • asp系统网站怎么做优化营销技巧第三季
  • 目前b2b网站有哪些做seo的公司
  • 青海做网站最好的网站推广软件
  • 哪个网站可以做会计试题常州网站建设
  • 网站锚文本使用查询org域名注册
  • 企业备案网站内容推广app的平台
  • 网站建站公唐山seo排名
  • 网站备案要什么资料免费建站工具
  • 怎么查一个网站是谁做的seo排名如何
  • 如果评价网站做的好不好seo流程