Общие вопросы
Смешанные вопросы по Java.
Открыть разделБаза Hintsage
Язык Java, JVM и экосистема серверной разработки.
Темы раздела
Смешанные вопросы по Java.
Открыть разделБазовая семантика языка, типы, методы, классы и ключевые конструкции.
Открыть разделНаследование, полиморфизм, интерфейсы, классы и разрешение методов.
Открыть разделJava Collections Framework, контракты, реализации и сложность операций.
Открыть разделJava Memory Model, потоки, синхронизация и java.util.concurrent.
Открыть разделЗагрузка классов, память JVM, GC, JIT и диагностика.
Открыть разделПараметризация типов, bounds, wildcards и стирание типов.
Открыть разделФункциональные интерфейсы, streams, collectors и параллельная обработка.
Открыть разделИерархия исключений, обработка ошибок и управление ресурсами.
Открыть разделПрактика
Разбор последствий: почему порядок итерации HashMap нельзя считать стабильным даже при неизменном наборе ключей?
Как устройство PriorityQueue определяет сложность проверки наличия произвольного элемента?
В чём принципиальная разница между HashMap и IdentityHashMap при определении равенства ключей?
Объясните, как тип аргумента определяет смысл удаления из List<Integer>: по индексу или по значению?
В практической ситуации после операции merge запись неожиданно исчезает, когда функция пересчёта возвращает null. Какой контракт этой операции объясняет удаление?
Допустим, функция вычисления значения для отсутствующего ключа возвращает null. Как изменится состояние Map после computeIfAbsent?
В списке сотрудников сортировка по должности даёт одинаковый результат сравнения для нескольких записей. Какой контракт сортировки определяет порядок этих записей после сортировки?
Каким образом Collections.checkedList обнаруживает добавление элемента несовместимого типа при стирании обобщений?
От чего зависит сложность полной итерации по HashMap, если число записей невелико относительно ёмкости таблицы?
В кэше на WeakHashMap запись исчезает после того, как ключ больше нигде не используется. Какой механизм реализации объясняет это поведение?
При частых удалениях из ArrayList почему вызов trimToSize после каждой операции может ухудшить производительность?
Разберите, почему сложность removeAll у ArrayList может радикально зависеть от типа переданной коллекции.
Когда выбор ArrayDeque вместо LinkedList действительно меняет характеристики очереди?
Рассмотрим многопоточный кэш на ConcurrentHashMap: несколько потоков одновременно запрашивают отсутствующее значение. Какой механизм computeIfAbsent не допускает повторной успешной инициализации одного ключа?
При выборе методов Deque для обработки пустой очереди какое различие между remove и poll определяет безопасное поведение?
В чём практическая ловушка значения, возвращаемого Map.put, если карта допускает null?
При множестве читателей и редких изменениях почему CopyOnWriteArrayList делает добавление элемента линейным по размеру списка?
Из-за какого контракта список, созданный через Arrays.asList, принимает замену элемента, но отклоняет добавление и удаление?
В коде ниже после изменения первого элемента меняются все позиции списка. Какой механизм это объясняет?
import java.util.*;
public class Main {
public static void main(String[] args) {
List<StringBuilder> values = new ArrayList<>(
Collections.nCopies(3, new StringBuilder("A")));
values.get(0).append("!");
System.out.println(values);
}
}
В следующем коде проверка contains не зависит от количества элементов в наборе. Какое внутреннее представление EnumSet объясняет такую сложность?
import java.time.DayOfWeek;
import java.util.EnumSet;
import java.util.Set;
class Demo {
public static void main(String[] args) {
Set<DayOfWeek> workdays = EnumSet.of(
DayOfWeek.MONDAY, DayOfWeek.TUESDAY, DayOfWeek.FRIDAY);
System.out.println(workdays.contains(DayOfWeek.TUESDAY));
}
}
Показано 141–160 из 403