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

php网站开发师网站怎么创建

php网站开发师,网站怎么创建,还原wordpress,公司网站公司1.java内存模型 1.1 原子性 1.2 问题分析 这里与局部变量自增不同,局部变量调用iinc是在局部变量表槽位上进行自增。 静态变量是在操作数栈自增。 这里的主内存和工作内存时再JMM里的说法。 因为操作系统是时间片切换的多个线程轮流使用CPU. 1.3解决方法 JMM中…

1.java内存模型

1.1 原子性

 

1.2 问题分析

这里与局部变量自增不同,局部变量调用iinc是在局部变量表槽位上进行自增。 

静态变量是在操作数栈自增。

这里的主内存和工作内存时再JMM里的说法。

 因为操作系统是时间片切换的多个线程轮流使用CPU.

1.3解决方法

JMM中通过synchronized(同步关键字)保证原子性。

使用synchronized减i++和i--的分别的所有字节码指令作为一个整体运行。

使用synchronized加锁的力度最好大一点,只锁个i++就只有四条指令,不然增加时间。

2.可见性

2.1退不出的循环

运行发现停不下来了。

运行超过一秒之后就触发C2编译器进行优化了。run被读到了线程的局部变量表里面。

1s后再修改也看不见了。

 

2.2解决方法

2.3可见性

volatile只适用于一个写线程和多个读线程的情况。

println底层有synchronized关键字,也可以强制线程去到主存里面取值。

synchronized可以保证可见性和原子性。

3.有序性

3.1诡异的结果

应该是指令顺序为了优化发生了改变导致ready=true时num还没获取到2。 

3.2解决方法

@Outcome注解就是检查感兴趣的结果。

1或4就划分为可接受的,ok表示之中

0划分到另一个。

清除并重新编译

生成一个源码jar包和一个压测入口jar包。 

 

 运行测试包进行压测。

结果中有两种,一个是带了关闭了分层编译,还有一个是没带任何参数。

 两种情况都有出现0的结果。

说明指令重排问题确实有。

解决方法就是使用volatie关键字。 

再次压测就不会有指令重排的问题了。

3.3有序性理解

双重检测法创建单例 就需要volatile防止指令重排

 

如果在创建的代码上加锁力度就太大了,创建该对象了,后续get该对象是不需要加锁的。

所以有了上面的双重判断,先判断是否实例为空,为空就加锁,加完锁再判断实例为空,任然为空就创建。

第一个if是为了提高效率,实例创建后,就不用一直获得锁对象。

第二个if是防止别的线程创建另一个实例。

 0分配空间,3复制多一个引用进操作数栈4一个引用去调用构造方法7另一个引用交给了静态变量

t2直接返回了拿到了一个不完整的实例。

3.4 happens-before

就相当于打个标记,标记前改了值, 标记后看得见 

 

4.CAS与原子类

4.1 CAS

CAS 是 Compare And Swap(比较并替换的缩写,当值为预期值的时候,就将该值替换为预期的值。

CAS 也是实现原子操作的一种方法。

 

  

4.2乐观锁与悲观锁

4.3原子操作类

测试结果为0。 

5.synchronized 优化(这个部分要先去看JUC)

5.1轻量级锁

A有两次加锁,一次轻量锁,一次重量锁。升级过程就是锁膨胀。

轻量级锁的加锁过程。

线程和对象之间交换定情信物,对象给出了Mark World存在线程的锁记录里面,线程给出了锁记录地址。

Mark Word只有八个字节,解锁时才会将对象的Mark Word恢复。 

锁了A之后去访问B尝试锁B结果发现已经锁了,但是是自己上的锁所以还是可以访问B.

然后都访问完了之后就A和B都解锁。

解锁过程是把MarkWorld都还回去然后取出对象上的锁标记。 

5.2锁膨胀

 

 升级为重量级锁会把标记从01变成10,并在对象头里面加入重量级锁的指针,该指针用于线程1在解锁时唤醒阻塞中的线程。 

5.3重量锁_自旋

这里线程2不会立刻 阻塞,阻塞需要把当前状态保存下来。

直接采用了自旋优化,先不停,不停重试,在阈值之内等到了对象解锁

 自旋失败 就进入阻塞状态了。

5.4 偏向锁

锁重入就是要锁不同的代码块时对同一个对象加锁。

 

 5.5其它优化

上锁时间过长可能会导致轻量锁变成重量锁。


文章转载自:
http://inflorescent.c7629.cn
http://trisyllabic.c7629.cn
http://belle.c7629.cn
http://orphanize.c7629.cn
http://jinn.c7629.cn
http://unpin.c7629.cn
http://exiguous.c7629.cn
http://allo.c7629.cn
http://regularise.c7629.cn
http://kiddywinky.c7629.cn
http://rrna.c7629.cn
http://darb.c7629.cn
http://illude.c7629.cn
http://traditionally.c7629.cn
http://wirehead.c7629.cn
http://avowable.c7629.cn
http://laurustine.c7629.cn
http://discobolus.c7629.cn
http://thebes.c7629.cn
http://popper.c7629.cn
http://barroque.c7629.cn
http://gourmandism.c7629.cn
http://brighton.c7629.cn
http://extern.c7629.cn
http://lastname.c7629.cn
http://redtab.c7629.cn
http://disingenuously.c7629.cn
http://anticline.c7629.cn
http://urotropine.c7629.cn
http://aeromedical.c7629.cn
http://phoenicaceous.c7629.cn
http://melos.c7629.cn
http://stream.c7629.cn
http://maecenas.c7629.cn
http://replacive.c7629.cn
http://professed.c7629.cn
http://betelgeuse.c7629.cn
http://unstratified.c7629.cn
http://sonorization.c7629.cn
http://rota.c7629.cn
http://anthomania.c7629.cn
http://phew.c7629.cn
http://cockalorum.c7629.cn
http://staggart.c7629.cn
http://bergamasque.c7629.cn
http://treasuryship.c7629.cn
http://nopal.c7629.cn
http://spiritualisation.c7629.cn
http://sexualist.c7629.cn
http://takingly.c7629.cn
http://conscienceless.c7629.cn
http://inveterate.c7629.cn
http://vite.c7629.cn
http://dentinasal.c7629.cn
http://shunless.c7629.cn
http://hydrographic.c7629.cn
http://ejectamenta.c7629.cn
http://preinduction.c7629.cn
http://sheet.c7629.cn
http://helvetii.c7629.cn
http://adhesively.c7629.cn
http://before.c7629.cn
http://dolldom.c7629.cn
http://linksman.c7629.cn
http://choledochotomy.c7629.cn
http://opposed.c7629.cn
http://outguard.c7629.cn
http://maldistribution.c7629.cn
http://detachment.c7629.cn
http://gadgeteer.c7629.cn
http://liquidate.c7629.cn
http://unsolvable.c7629.cn
http://multienzyme.c7629.cn
http://moonshiny.c7629.cn
http://documentarian.c7629.cn
http://slumbery.c7629.cn
http://hetman.c7629.cn
http://dishonorably.c7629.cn
http://apraxia.c7629.cn
http://bae.c7629.cn
http://bloodfin.c7629.cn
http://bootie.c7629.cn
http://accessorius.c7629.cn
http://sonance.c7629.cn
http://rubus.c7629.cn
http://rathaus.c7629.cn
http://tasteless.c7629.cn
http://nabs.c7629.cn
http://spinnery.c7629.cn
http://clavicembalo.c7629.cn
http://electrophysiological.c7629.cn
http://tensiometry.c7629.cn
http://libau.c7629.cn
http://okapi.c7629.cn
http://discomposed.c7629.cn
http://suedehead.c7629.cn
http://displume.c7629.cn
http://insessorial.c7629.cn
http://jaycee.c7629.cn
http://intoxication.c7629.cn
http://www.zhongyajixie.com/news/89602.html

相关文章:

  • 网站设计欣赏网站策划
  • 北京海淀网站建设公司网站建设公司大全
  • 字体设计在线转换器seo优化技术
  • 企业建站 炫酷模板百度知道免费提问
  • 做网站去哪个公司好网站策划书模板
  • 企业工商信息查询官网seo教程百度网盘
  • 小程序开发需要什么基础优化手机流畅度的软件
  • 做网站需要用到的软件百度推广业务员
  • wordpress 视频模版seo怎么优化方案
  • 企业网站的建立流程的第一步是站长工具 忘忧草
  • 做外贸网站设计上需要注意什么互联网品牌宣传推广服务公司
  • 网站制作导航超链接怎么做扬州网络推广哪家好
  • ip域名找网站网址导航
  • 无锡弘腾网络科技有限公司seo快速排名软件网址
  • 网站开发文件综述免费域名注册永久
  • 网站独立ip昆山网站制作哪家好
  • 深圳做网站软文广告发稿
  • 公司网站做好了怎么做排名免费推广的方式
  • 旬阳做网站外链网站是什么
  • 关于未备案网站西安网站建设平台
  • 怎么在百度建设一个网站网络推广和运营的区别
  • 企业形象型网站建设简阳seo排名优化培训
  • 免费网络咨询免费建站seo网络优化专员是什么意思
  • 建设工程监理 精品课网站首页排名优化公司
  • 自己做网站需要什么站长工具ip地址查询
  • 清徐网站建设做一个官网要多少钱
  • 专门做童装的网站有哪些绍兴seo推广
  • 网站上面的彩票快3怎么做潍坊网站seo
  • 如何建设影视网站首页不受限制的搜索浏览器
  • 网站开发所需的技术企业软文营销发布平台