相关疑难解决方法(0)

关于实例变量初始化的线程安全性

我看到这个初始化实例变量的习惯很多

public class Test{
    private Long l = 1l;
    private MyClass mc = new MyClass();

    public Test(){}
    ...
 }
Run Code Online (Sandbox Code Playgroud)

但我更愿意

public class Test{
    private Long l;
    private MyClass mc;

    public Test(){
        l = 1l;
        mc = new MyClass();
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

考虑到这些是非最终变量,在线程安全方面,2种方法是等效的还是比另一种更"正确"?

java thread-safety

5
推荐指数
1
解决办法
3502
查看次数

标签 统计

java ×1

thread-safety ×1