2013-05-27 3 views
1

Я новичок в потоковом в java и теперь читаю «Java-параллелизм на практике». Как вы понимаете, я пытаюсь сделать какие-либо примеры, но не могу. когда я пытаюсь использовать @Immutable аннотация IDE (Идея) подчеркивает его красным. Какова возможная причина этого?Не удается разрешить символ «Неизбежно»

ответ

4

Причина в том, что у вас нет правильной банки в вашем пути к классам.

The Maven артефакт для этой баночки:

<dependency> 
    <groupId>net.jcip</groupId> 
    <artifactId>jcip-annotations</artifactId> 
    <version>1.0</version> 
<dependency> 

Если вы не имеете эту баночку в вашем пути к классам, не имеет аннотации.

Однако обратите внимание, что это вытесняется JSR 305. Существует также Maven артефакта для реализации этой JSR:

<dependency> 
    <groupId>com.google.code.findbugs</groupId> 
    <artifactId>jsr305</artifactId> 
    <version>2.0.1</version> 
</dependency> 

(примечание стороны: отличный выбор для чтения Это один должен иметь книга для всех разработчиков Java там)

+0

Большое спасибо, но идея говорит о двух вариантах. который выбрать? Кстати: посмотрите на зависимость слова в ответе –

+0

Два варианта чего? (спасибо, что заметили опечатку) – fge

1

Что касается работы с примерами этой книги, поэтому все эти аннотации, такие как @ThreadSafe, @ Immutable/@ Threadsafe, все они просто символичны (хотя fge выше правильно, вы можете используйте эти банки, но с точки зрения обучения просто игнорируйте их)

Итак, просто игнорируйте их. В любом месте, если вы видите @Immutable, это просто означает, что написанный код IMMUTABLE, благодаря реализации кода.

Вам совсем не нужна баночка. Просто удалите эти аннотации из своих примеров :)

Смежные вопросы