差異處
這裏顯示兩個版本的差異處。
Both sides previous revision 前次修改 下次修改 | 前次修改 | ||
java:effective_java:concurrency:avoid_excessive_synchronization [2020/08/08 18:00] tony [Introduction] |
java:effective_java:concurrency:avoid_excessive_synchronization [2023/06/25 09:48] (目前版本) |
||
---|---|---|---|
行 4: | 行 4: | ||
這個Item的宗旨如字面上的意思:「避免過度的使用同步」。這個Item有以下幾個重點: | 這個Item的宗旨如字面上的意思:「避免過度的使用同步」。這個Item有以下幾個重點: | ||
==== 1. synchronized block中,不要呼叫有機會被client或subclass控制的method,以避免liveness與safety failures ==== | ==== 1. synchronized block中,不要呼叫有機會被client或subclass控制的method,以避免liveness與safety failures ==== | ||
- | 作者提及了alien method這個名稱,在我理解中,alien method可能以**有機會被override的method**、**client傳進來的function物件**或**呼叫到可能會引用到類別中變數的物件**等方式呈現: | + | 作者提及了alien method這個名稱,在我的理解中,alien method可能以**有機會被override的method**、**client傳進來的function物件**或**呼叫到可能會引用到類別中變數的物件**等方式呈現: |
<code java> | <code java> | ||
private List<Listener> listeners = new ArrayList<>(); | private List<Listener> listeners = new ArrayList<>(); |