Java内存模型-创新互联

Java 内存模型规范了 JVM 如何提供按需禁用缓存和编译优化的方法。具体来说,这些方法包括 volatile、synchronized 和 final 三个关键字,以及六项 Happens-Before 规则。

成都创新互联专注于聂拉木网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供聂拉木营销型网站建设,聂拉木网站制作、聂拉木网页设计、聂拉木网站官网定制、成都微信小程序服务,打造聂拉木网络公司原创品牌,更为您提供聂拉木网站排名全网营销落地服务。成都创新互联公司专注于精河网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供精河营销型网站建设,精河网站制作、精河网页设计、精河网站官网定制、成都小程序开发服务,打造精河网络公司原创品牌,更为您提供精河网站排名全网营销落地服务。

Happens-Before的7个规则:

(1).程序次序规则:在一个线程内,按照程序代码顺序,书写在前面的操作先行发生于书写在后面的操作。准确地说,应该是控制流顺序而不是程序代码顺序,因为要考虑分支、循环等结构。

(2).管程锁定规则:一个unlock操作先行发生于后面对同一个锁的lock操作。这里必须强调的是同一个锁,而"后面"是指时间上的先后顺序。

(3).volatile变量规则:对一个volatile变量的写操作先行发生于后面对这个变量的读操作,这里的"后面"同样是指时间上的先后顺序。

(4).线程启动规则:Thread对象的start()方法先行发生于此线程的每一个动作。

(5).线程终止规则:线程中的所有操作都先行发生于对此线程的终止检测,我们可以通过Thread.join()方法结束、Thread.isAlive()的返回值等手段检测到线程已经终止执行。

(6).线程中断规则:对线程interrupt()方法的调用先行发生于被中断线程的代码检测到中断事件的发生,可以通过Thread.interrupted()方法检测到是否有中断发生。

(7).对象终结规则:一个对象的初始化完成(构造函数执行结束)先行发生于它的finalize()方法的开始。

Happens-Before的1个特性:传递性。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文题目:Java内存模型-创新互联
分享地址:http://ybzwz.com/article/cehsio.html