对于synchronized关键字修饰方法来说。并没有出现monitorenter和monitorexit指令。而是出现了一个ACC_SYNCHRONIZED标志。
jvm使用这个标志区分一个方法是否为同步方法,当方法被调用,调用指令会检查方法是否有该标志,如果有,那么执行线程将会先持有方法所在对象的的monitor对象,然后再去执行方法体,在方法执行期间,其他任何线程均无法再获取到这个monitor对象,当线程执行完该方法后。它会释放掉这个mo
对于synchronized关键字修饰方法来说。并没有出现monitorenter和monitorexit指令。而是出现了一个ACC_SYNCHRONIZED标志。
jvm使用这个标志区分一个方法是否为同步方法,当方法被调用,调用指令会检查方法是否有该标志,如果有,那么执行线程将会先持有方法所在对象的的monitor对象,然后再去执行方法体,在方法执行期间,其他任何线程均无法再获取到这个monitor对象,当线程执行完该方法后。它会释放掉这个mo