方法上的 synchronized Posted on 2022-03-13 In Java Views: 12345678910111213class Test{ public synchronized void test() { }}等价于class Test{ public void test() { synchronized(this) { } }} 123456789101112class Test{ public synchronized static void test() { }}等价于class Test{ public static void test() { synchronized(Test.class) { } }} 对于static方法,是没有this实例的,因为static方法是针对类而不是实例。但是我们注意到任何一个类都有一个由JVM自动创建的Class实例,因此,对static方法添加synchronized,锁住的是该类的Class实例。 参考:https://www.liaoxuefeng.com/wiki/1252599548343744/1306580867874849