搜尋

首頁  >  問答  >  主體

java - synchronized在修饰代码块的时候,括号后面要跟什么啊?

ringa_leeringa_lee2767 天前912

全部回覆(1)我來回復

  • PHPz

    PHPz2017-04-18 09:31:32

    synchronized (lock-object) {
    }

    括號後面要跟一個物件,這個物件充當的作用。
    synchronized(""),這裡你把一個空字串當成鎖,並因此認為你沒有指定鎖住哪個物件。
    而實際上,空字串本身就是一個物件。而且,你有兩個實例,並把空字串餵給它們,這兩個實例實際上持有的是同一個物件。

    1. 在Java中,全部都是對象, 空字串也是對象。

    2. 常數字串,例如空字串,都放在常數池裡,兩個實例引用的空字串其實就是常數池裡的空字串,是同一個物件。

    回覆
    0
  • 取消回覆