JavaRush /Java блог /Архив info.javarush /Уровень 27. Ответы на вопросы к собеседованию по теме уро...
zor07
31 уровень
Санкт-Петербург

Уровень 27. Ответы на вопросы к собеседованию по теме уровня

Статья из группы Архив info.javarush
Уровень 27. Ответы на вопросы к собеседованию по теме уровня - 1
  1. Что такое дедлок?

    Deadlock — ситуация в многозадачной среде или СУБД, при которой несколько процессов находятся в состоянии бесконечного ожидания ресурсов, захваченных самими этими процессами.

    Шаг Процесс 1 Процесс 2
    0 Хочет захватить A и B, начинает с A Хочет захватить A и B, начинает с B
    1 Захватывает ресурс A Захватывает ресурс B
    2 Ожидает освобождения ресурса B Ожидает освобождения ресурса A
    3 Взаимная блокировка Взаимная блокировка
  2. Какие вы знаете стратегии, предотвращающие появление дедлоков?

  3. Могут ли возникнуть дедлоки при использовании методов wait-notify?

  4. Что чаще используется: notify или notifyAll?

  5. Метод wait рекомендуется использовать с конструкциями if или while?

  6. Что происходит после вызова метода notifyAll?

  7. Какие выгоды получает объект, если он immutable?

  8. Что такое «thread-safe»?

  9. Что такое "happens-before"?

  10. Что такое JMM?

  11. Какое исключение вылетит, если вызвать wait не в блоке synchronized?

Комментарии
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ