1. Какая разница между процессом и потоком? Существую отличия в: 2. Как избежать DEADLOCK? В основном это возникает так как в одной блокировке ещё одна и более блокировок. Поэтому избежать подобное можно тем что вместо вложенности нужно добавить новую абстракцию поверх и дать блокировку на более высокий уровень, а вложенные блокировки убрать. Чем больше блокировок, тем больше шансов что будет deadlock. Поэтому каждый раз добавляя новую блокировку нужно думать, а точно она нужна или можно избежать её добавления. Использование thread.joino. дедлок можно сделать также при ожидании одного реда другим. Чтобы избежать этой проблемы, можно подумать над тем, чтобы выставить ограниченное время на joino метод. Если у нас один поток- deadlock не будет. 3. Что такое hard-references, week-references, soft-references, phantom-references? Hard-references - стандартные ссылки на объекты, которые становиться eligible for collection после недостижимости из root set. Week-references - объекты мог