在java代码中Double checking 并不能保证代码的正确性。
原因有二:
一. Object obj = new Object();
会先给obj赋值,然后在调用对象的构造函数初始化内存。现在得到的obj可能没有完全构造。
二. 编译器会优化代码,可能会打乱代码执行顺序。
本文探讨了Java中Double checking机制的潜在问题。主要问题在于对象构造过程中的状态不确定性和编译器的代码优化可能导致的对象状态读取错误。理解这些问题对于避免并发编程中的陷阱至关重要。
在java代码中Double checking 并不能保证代码的正确性。
原因有二:
一. Object obj = new Object();
会先给obj赋值,然后在调用对象的构造函数初始化内存。现在得到的obj可能没有完全构造。
二. 编译器会优化代码,可能会打乱代码执行顺序。
771

被折叠的 条评论
为什么被折叠?