Встречается на собеседованиях • сегодня

Какие знаешь виды блокировок при работе с базой данных

В Java при работе с БД различают несколько видов блокировок:

  1. Оптимистичная блокировка - предполагает, что конфликты редки. Использует версионирование:
java
@Entity
public class Account {
    @Version
    private int version;
    // другие поля
}
  1. Пессимистичная блокировка - блокирует данные на время транзакции:
java
entityManager.find(Account.class, id, LockModeType.PESSIMISTIC_WRITE);
  1. Явные блокировки:
  • LockModeType.READ - для чтения
  • LockModeType.WRITE - для модификации
  • LockModeType.OPTIMISTIC - аналог READ
  • LockModeType.PESSIMISTIC_READ - shared lock
  • LockModeType.PESSIMISTIC_WRITE - exclusive lock
  1. Deadlock - взаимоблокировка, когда две транзакции ждут друг друга.

  2. Row-level locks - блокировка на уровне строк

  3. Table locks - блокировка всей таблицы

Блокировки помогают обеспечить согласованность данных, но могут снижать производительность.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы