我对java中的线程是个新手,现在读到了"java并发实践“。你可能知道,我正在尝试做任何例子,但是不能。当我尝试使用@Immutable注解集成开发环境(Idea)时,会给它加红色下划线。可能的原因是什么?
发布于 2013-05-27 17:59:00
原因是您的类路径中没有正确的jar。
这个jar的maven工件是:
<dependency>
<groupId>net.jcip</groupId>
<artifactId>jcip-annotations</artifactId>
<version>1.0</version>
<dependency>如果类路径中没有这个jar,那么就没有注释。
但是请注意,它已被JSR305所取代。对于该JSR的实现,还有一个Maven工件:
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>2.0.1</version>
</dependency>(附注:绝佳的阅读选择!这是一本面向所有Java开发人员的必备书籍)
发布于 2013-05-27 17:58:49
下载jar file providing the jcip annotations并将其添加到module dependencies。
发布于 2013-05-27 18:25:33
就使用这本书的例子而言,所有这些注释,如@ThreadSafe,@Immutable/@Threadsafe,它们都只是符号(尽管上面的fge是正确的,你也可以使用那些jars,但从学习的角度来看,忽略它们)
所以,简单地忽略它们。在任何地方,如果你看到@Immutable,它只是意味着,由于代码实现的原因,编写的代码是不可变的。
你根本不需要任何罐子。只需从示例中删除这些注释即可:)
https://stackoverflow.com/questions/16770592
复制相似问题