无法解析符号“不可变”

Nik*_*ail 2 java concurrency annotations intellij-idea immutability

我是Java线程技术的新手,现在阅读“实践中的Java并发性”。如您可能的理解,我正在尝试做任何示例,但不能。当我尝试使用@Immutable注释IDE(Idea)时,它用红色强调。这可能是什么原因?

fge*_*fge 5

原因是您的类路径中没有正确的jar。

该罐子的Maven工件为:

<dependency>
    <groupId>net.jcip</groupId>
    <artifactId>jcip-annotations</artifactId>
    <version>1.0</version>
<dependency>
Run Code Online (Sandbox Code Playgroud)

如果您的类路径中没有此jar,则没有注释。

但是请注意,这已被JSR 305取代。该JSR的实现还有Maven构件:

<dependency>
    <groupId>com.google.code.findbugs</groupId>
    <artifactId>jsr305</artifactId>
    <version>2.0.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

(旁注:阅读的绝佳选择!这是所有Java开发人员必备的书)