美文网首页
Java final内存语义

Java final内存语义

作者: 攻城狮托马斯 | 来源:发表于2020-05-22 10:03 被阅读0次

Final


final的意思是一个已初始化的变量不能再指向另外的值/对象

1.在构造函数内对final域的写入,与随后把这个构造对象赋给一个引用变量,这样的操作不能重排序.

store store

i = 1 可能会被排序在构造函数之外,而 j = 2 不会.

2.初次读包含final域的对象引用,与随后读这个final域, 两个操作之间不能重排序.

3.在构造函数内对一个final引用的对象成员域的写入,与随后在构造函数外对这个沟槽最想的引用赋值给一个引用变量,这两个操作之间不能重排序.

Final关键词中的内存语义

写:

读: 

相关文章

  • 聊聊java内存模型

    本文目录 Java内存模型 重排序 内存屏障 volatitle的内存语义 final的内存语义 一、Java内存...

  • Java final内存语义

    Final final的意思是一个已初始化的变量不能再指向另外的值/对象 1.在构造函数内对final域的写入,与...

  • Java匿名类遇上final

    时间: 2018/10/19 Content final的普通语义 final遇见内部类 闭包 内存泄漏​ 1. ...

  • volatile synchronized final的内存语

    本篇文章介绍volatile synchronized final 关键的基本概念以及的内存语义,通过自身的内存...

  • final域的内存语义

    1.final域的重排序规则: 1.在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引...

  • JMM之Final

    Final相关的内存语义 final相关的两个重排序规则 在构造函数中对一个final域的引入,与随后把这个被构造...

  • Java并发文章目录

    01:Java内存模型 02:volatile synchronized final的...

  • JMM内存模型--final域的内存语义

    与前面介绍的锁和volatile相比,对final域的读和写更像是普通的变量访问。下面介绍final域的内存语义 ...

  • Java多线程(十六)---final域的内存语义

    移步java多线程系列文章 1 final域的重排序规则 1)在构造函数内对一个final域的写入,与随后把这个被...

  • Java的final关键字的内存语义

    概念介绍: 1.内存屏障: 内存屏障(Memory Barier,或者有时叫做内存栅栏,Memory Fence)...

网友评论

      本文标题:Java final内存语义

      本文链接:https://www.haomeiwen.com/subject/zyvfahtx.html