1、java中的每个对象都可作为锁,有三种表现形式:
对于普通方法,锁的是当前this对象。
对于静态方法,锁的是class对象
对于方法块,锁的是synchronized指定的对象。
2、JVM基于Monitor对象来实现昂发的同步和代码块同步,但是实现细节不一样。代码块同步是使用monitorenter和monitorexit指令实现,而方法同步使用的是另外一种方式实现的。
3、
时间: 2024-11-01 21:56:43
1、java中的每个对象都可作为锁,有三种表现形式:
对于普通方法,锁的是当前this对象。
对于静态方法,锁的是class对象
对于方法块,锁的是synchronized指定的对象。
2、JVM基于Monitor对象来实现昂发的同步和代码块同步,但是实现细节不一样。代码块同步是使用monitorenter和monitorexit指令实现,而方法同步使用的是另外一种方式实现的。
3、