java是什么 Java中对本身线程安全的方法加锁,锁不会被优化掉吗?

Java中对本身线程安全的方法加锁,锁不会被优化掉吗?JVM将在没有竞争的情况下优化锁,但它仍然是一个锁,不会被优化。我自己的工具类会重写bufferedinputstream/bufferedout

Java中对本身线程安全的方法加锁,锁不会被优化掉吗?

JVM将在没有竞争的情况下优化锁,但它仍然是一个锁,不会被优化。我自己的工具类会重写bufferedinputstream/bufferedoutstream,只需删除synchronized,性能就会提高很多。

java synchronized锁对象,当对象引用是null的时候,锁的是什么?

谢谢

!Java语言规范明确指出,如果锁定的对象为null,则会发生NullPointerException。规范的内容如下:

表达式的类型必须是引用类型,否则会发生完全时间错误。首先计算表达式,执行同步语句。然后:如果表达式的求值由于某种原因完全完成,那么synchronized语句也会因为同样的原因突然完成。否则,如果表达式的值为null,则抛出NullPointerException。