84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
java中为什么不像上图那样直接使用,而是用一个局部变量指向它,然后再去使用?
我看到JDK方法中很多地方都是这样用,请问这样用和直接使用用什么区别吗?
还有什么时候需要用 static 修饰Lock,什么时候不需要?
小伙看你根骨奇佳,潜力无限,来学PHP伐。
Lock相比synchronized更加符合面向对象的理念,
Lock
synchronized
为了效率,这跟JMM规范有关,特别是volatile修饰的变量,用一个局部变量去接受,然后使用在效率上会有提升,不过你大可不必在乎这点效率,那些都是写JDK的牛人在乎的。
JMM
volatile
JDK
这和你的业务相关啊,锁的粒度决定你加不加static,同一把锁才会阻塞,不同锁不阻塞。使用了static后锁的粒度会很大,类级别的。不加的话对象级别的。
static
Lock
相比synchronized
更加符合面向对象的理念,为了效率,这跟
JMM
规范有关,特别是volatile
修饰的变量,用一个局部变量去接受,然后使用在效率上会有提升,不过你大可不必在乎这点效率,那些都是写JDK
的牛人在乎的。这和你的业务相关啊,锁的粒度决定你加不加
static
,同一把锁才会阻塞,不同锁不阻塞。使用了static
后锁的粒度会很大,类级别的。不加的话对象级别的。