Не работает автодополнение в Eclipse

Иногда случается, что какой-то воркспейс использовался с одной версией Eclipse, потом стал использоваться с другой версией Eclipse и тут сломалось автодополнение (autocompletion) в Java. Решение в таком случае очень простое — надо создать новый воркспейс и импортировать туда проекты из старого, при этом отметив «Copy projects into workspace».

Effective Java: Concurrency

Напоминаю, что данная серия постов — кратчайшее изложение основных мыслей книги Effective Java 2nd edition. Они не заменят книги, но помогут освежить кое-что в памяти.


Item 66. Синхронизируйте доступ к общим (shared) изменяемым (mutable) данным.

Параграф о применении ключевых слов synchronized и volatile. Автор делает следующие выводы: лучше всего избегать межпоточной синхронизации использованием immutable объектов. Если это невозможно, всегда нужна синхронизация, иначе результат работы программы будет непредсказуем. В случаях, когда блокировки (ключевое слово synchronized) не нужны, допустимо использовать volatile. Но и с ним не всё так просто — надо помнить, что не все операции атомарны (++ и -- не атомарны, операции чтения и записи для long и double тоже).