Я новичок в потоковом в java и теперь читаю «Java-параллелизм на практике». Как вы понимаете, я пытаюсь сделать какие-либо примеры, но не могу. когда я пытаюсь использовать @Immutable
аннотация IDE (Идея) подчеркивает его красным. Какова возможная причина этого?Не удается разрешить символ «Неизбежно»
ответ
Причина в том, что у вас нет правильной банки в вашем пути к классам.
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 там)
Загрузите jar file providing the jcip annotations и добавьте его в module dependencies.
Что касается работы с примерами этой книги, поэтому все эти аннотации, такие как @ThreadSafe, @ Immutable/@ Threadsafe, все они просто символичны (хотя fge выше правильно, вы можете используйте эти банки, но с точки зрения обучения просто игнорируйте их)
Итак, просто игнорируйте их. В любом месте, если вы видите @Immutable, это просто означает, что написанный код IMMUTABLE, благодаря реализации кода.
Вам совсем не нужна баночка. Просто удалите эти аннотации из своих примеров :)
- 1. Не удается разрешить символ
- 2. Не удается разрешить символ
- 3. Не удается разрешить символ
- 4. Не удается разрешить символ
- 5. Как разрешить ошибку «Не удается разрешить символ ===»
- 6. не удается разрешить символ «жесты»
- 7. Не удается разрешить символ TexturePacker
- 8. Не удается разрешить символ «StringUtils»
- 9. Не удается разрешить символ 'FirebaseAuth'
- 10. Не удается разрешить символ c882c94be45fff9d16a1cf845fc16ec5
- 11. Не удается разрешить символ Tablename
- 12. Не удается разрешить символ 'NavigationView'
- 13. не удается разрешить символ (переменные)
- 14. Не удается разрешить символ 'MyApi'
- 15. не удается разрешить символ DrawerLayout
- 16. не удается разрешить символ x509store
- 17. не удается разрешить символ 'activityInfo'
- 18. Не удается разрешить символ 'AndroidJUnit4'
- 19. Не удается разрешить символ @ Url.Action
- 20. не удается разрешить символ HorizontalDividerItemDecoration
- 21. не удается разрешить символ DynamoDBMapper
- 22. Не удается разрешить символ R
- 23. Не удается разрешить символ openDrawer
- 24. Не удается разрешить символ 'createFromResource'
- 25. не удается разрешить символ «@drawable
- 26. TimeUnit Не удается разрешить символ
- 27. не удается разрешить символ «OnSeekBarChangeListener»
- 28. Не удается разрешить символ 'Свойства'
- 29. не удается разрешить символ «почта»
- 30. не удается разрешить символ «фрагмент»
Большое спасибо, но идея говорит о двух вариантах. который выбрать? Кстати: посмотрите на зависимость слова в ответе –
Два варианта чего? (спасибо, что заметили опечатку) – fge