Встречается на собеседованиях • сегодня
Какие плюсы и минусы иммутабельности
Плюсы:
- Безопасность потоков: иммутабельные объекты потокобезопасны по умолчанию, так как их состояние нельзя изменить после создания.
- Простота кэширования и повторного использования: можно безопасно кэшировать и делиться объектами без риска изменений.
- Предсказуемость: код легче понимать и отлаживать, так как состояние объекта не меняется неожиданно.
- Упрощение тестирования: нет побочных эффектов, связанных с изменением состояния.
Минусы:
- Нагрузка на память: при каждом изменении создается новый объект, что может привести к избыточному потреблению памяти.
- Производительность: частое создание новых объектов может снизить производительность, особенно в циклах.
Пример:
java
// Иммутабельный класс
final class ImmutablePoint {
private final int x;
private final int y;
public ImmutablePoint(int x, int y) {
this.x = x;
this.y = y;
}
public int getX() { return x; }
public int getY() { return y; }
// "Изменение" через создание нового объекта
public ImmutablePoint withX(int newX) {
return new ImmutablePoint(newX, this.y);
}
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы