对synchronized(x) 的分析

来源:互联网 发布:stm32单片机教程 pdf 编辑:程序博客网 时间:2024/05/16 12:42

1、synchronized(this) this代表当前对象,此写法阻塞所有需要获取当前对象锁的同步方法和同步代码块

2、synchronized(class) class代表当前类文件,会阻塞所有类的实例对象的同步方法和同步代码块,等同于 synchronized static方法

3、String对象常量池特性(jvm会缓存string对象,如果两个string对象的值一样,那么Java不会创建第二个对象并使其直接指向第一个对象的内存,导致两个对象指向同一片内存),所以synchronized(object),object最好避免使用string对象。

原创粉丝点击