private void method(){
Object object = new Object();
synchronized (object){
System.out.println();
}
}
当method方法被多个线程执行,由于被锁对象object 是在方法内部声明的,即每个线程的object对象是不同的对象,不存在锁竞争关系,JVM会把该同步忽略,即锁消除。
private void method(){
Object object = new Object();
synchronized (object){
System.out.println();
}
}
当method方法被多个线程执行,由于被锁对象object 是在方法内部声明的,即每个线程的object对象是不同的对象,不存在锁竞争关系,JVM会把该同步忽略,即锁消除。