static
- JVM加载一个类后,该类的所有静态变量的值仍然是默认值,直到有一个线程访问该类的任意一个static变量后,这个类才被初始化(static{}被执行),类中的所有static变量被赋初始值
- 在多线程环境下,保证即使在未使用其它同步机制的情况下也总能读取到一个类的static变量的初始值(不是默认值),但可见性仅限于线程初次读取
final
- 多线程环境下,一个类中的final变量都是初始值(不是默认值)
本文标题:final和static在多线程中的语义
本文链接:https://www.haomeiwen.com/subject/sdfkbctx.html
网友评论