我是新來的線程在Java中,現在閱讀「實踐中的Java併發」。正如你可能知道我正在嘗試做任何例子,但不能。當我嘗試使用@Immutable
註釋IDE(Idea)時,它將其強調爲紅色。 這有什麼可能的原因?無法解析符號'不可變'
1
A
回答
4
原因是您的類路徑中沒有正確的jar。
Maven的神器這個罐子是:
<dependency>
<groupId>net.jcip</groupId>
<artifactId>jcip-annotations</artifactId>
<version>1.0</version>
<dependency>
如果你沒有這個jar在類路徑中,你沒有註釋。
不過請注意,這是由JSR 305取代還有一個Maven構件爲JSR的實現:
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>2.0.1</version>
</dependency>
(邊注:讀的很好的選擇,這是一個必須具備的本書所有Java開發者那裏)
1
1
至於與書上的例子工作,所以所有這些註解,像@ThreadSafe,@不可改變/ @線程安全的,他們都只是象徵性的(儘管上述FGE是正確的,你可以使用這些罐子,但從學習的角度來看,只是忽略它們)
所以,簡單地忽略它們。無論任何地方,如果您看到@Immutable,則只需通過代碼實現,就意味着編寫的代碼是IMMUTABLE。
你根本不需要任何jar。只要從你的例子中刪除這些註釋:)
相關問題
- 1. 無法解析符號@android:可繪製
- 2. Android解析 - 無法解析符號'FindCallBack'
- 3. 無法解析符號FabricMySQLDriver
- 4. 無法解析符號AppCompat
- 5. 無法解析符號CoordinatorLayout
- 6. 無法解析符號JSONParser
- 7. 無法解析符號R
- 8. 無法解析符號Android
- 9. 無法解析符號IPAddressUtil
- 10. 無法解析符號ITelephony
- 11. C#無法解析符號
- 12. 無法解析符號MyObjectBox
- 13. 無法解析符號`PRIORITY_HIGH`
- 14. 無法解析符號T
- 15. zxing:forFragment無法解析符號
- 16. Android:無法解析符號
- 17. request.getFile無法解析符號
- 18. 無法解析符號@ Url.Action
- 19. 無法解析符號BufferedImage
- 20. 無法解析符號'R'
- 21. 無法解析符號'AndroidJUnit4'
- 22. 無法解析符號「GooglePlayServicesClient」
- 23. 無法解析符號
- 24. 無法解析符號「OnItemClickListener」
- 25. 無法解析符號
- 26. 無法解析符號'ButterKnife'
- 27. 無法解析符號ReceiveUpdatesIntentService
- 28. 無法解析符號'android'
- 29. 無法解析符號A
- 30. 無法解析符號ColorStateList
非常感謝,但想法說它有兩個變種。哪些選擇?順便說一句:看看你的答案中的單詞依賴關係 –
兩種變體是什麼? (感謝您注意到錯字) – fge