synchronized详解 如何延长Java程序员的职业寿命?

如何延长Java程序员的职业寿命?只要学会熟练。现在有哪些理论上的科技在未来会让人类受益?感谢您的邀请,永久机器volatile和synchronized之间的区别:1。volatile的本质是告诉J

如何延长Java程序员的职业寿命?

只要学会熟练。

现在有哪些理论上的科技在未来会让人类受益?

感谢您的邀请,永久机器

volatile和synchronized之间的区别:

1。volatile的本质是告诉JVM寄存器(工作内存)中当前变量的值是不确定的,需要从主存中读取;synchronized是锁定当前变量,只有当前线程可以访问该变量,其他线程被阻塞。

2. Volatile只能在变量级别使用;synchronized可以在变量、方法和类级别使用。

3. Volatile只能实现变量修改的可见性和原子性,synchronized可以保证变量修改的可见性和原子性。

4. Volatile不会导致线程阻塞;synchronized可能会导致线程阻塞。

5. 用volatile标记的变量不会被编译器优化;用synchronized标记的变量可以被编译器优化。