Java拥有 JIT 即使编译器,会自动优化代码,例如:锁的对象是方法的局部变量,再运行时对象完全不会被共享,因此JIT就会优化(消除)这个锁。
例如下面这段代码:
当然这种锁消除也是可以关闭的,VM参数为:. -XX: - E1 iminateLocks。
Java拥有 JIT 即使编译器,会自动优化代码,例如:锁的对象是方法的局部变量,再运行时对象完全不会被共享,因此JIT就会优化(消除)这个锁。
例如下面这段代码:
当然这种锁消除也是可以关闭的,VM参数为:. -XX: - E1 iminateLocks。