二十三 常量池作为同步对象可能造成困惑

使用synchronized的时候,一般要防止String 常量池造成的坑。

比如,一个函数中包含:

  synchronized("A")  {

       }

还有另外一个函数中包含:

  synchronized("A")  {

       }

因为常量池的原因 :比如下面,A和B实际上是同一个对象。

                    String  a = "A";

       String  b = "A"  

            

 

posted @ 2018-10-31 23:09  刘大飞  阅读(178)  评论(0编辑  收藏  举报