美文网首页
final和static在多线程中的语义

final和static在多线程中的语义

作者: 木山手札 | 来源:发表于2019-11-03 00:08 被阅读0次

    static

    • JVM加载一个类后,该类的所有静态变量的值仍然是默认值,直到有一个线程访问该类的任意一个static变量后,这个类才被初始化(static{}被执行),类中的所有static变量被赋初始值
    • 在多线程环境下,保证即使在未使用其它同步机制的情况下也总能读取到一个类的static变量的初始值(不是默认值),但可见性仅限于线程初次读取

    final

    • 多线程环境下,一个类中的final变量都是初始值(不是默认值)

    相关文章

      网友评论

          本文标题:final和static在多线程中的语义

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