База Hintsage

Программирование Java

Язык Java, JVM и экосистема серверной разработки.

Темы раздела

Выберите подраздел

  • 50 вопросов

    Java Core

    Базовая семантика языка, типы, методы, классы и ключевые конструкции.

    Открыть раздел
  • 50 вопросов

    ООП и система типов

    Наследование, полиморфизм, интерфейсы, классы и разрешение методов.

    Открыть раздел
  • 50 вопросов

    Коллекции

    Java Collections Framework, контракты, реализации и сложность операций.

    Открыть раздел
  • 50 вопросов

    Многопоточность

    Java Memory Model, потоки, синхронизация и java.util.concurrent.

    Открыть раздел
  • 50 вопросов

    JVM и память

    Загрузка классов, память JVM, GC, JIT и диагностика.

    Открыть раздел
  • 50 вопросов

    Generics

    Параметризация типов, bounds, wildcards и стирание типов.

    Открыть раздел
  • 50 вопросов

    Stream API

    Функциональные интерфейсы, streams, collectors и параллельная обработка.

    Открыть раздел
  • 50 вопросов

    Исключения

    Иерархия исключений, обработка ошибок и управление ресурсами.

    Открыть раздел

Практика

Вопросы: Программирование Java

Разберите, почему в этом коде peek работает быстрее poll, хотя обе операции обращаются к минимальному элементу очереди:

import java.util.PriorityQueue;

PriorityQueue<Integer> queue = new PriorityQueue<>();
queue.add(7);
queue.add(2);
queue.add(5);

System.out.println(queue.peek());
System.out.println(queue.poll());
Программирование JavaКоллекцииJava-разработчик серверной части

Нужно удалить из списка все строки, начинающиеся с tmp, не ухудшая производительность при большом числе совпадений. Какой механизм реализации определяет сложность removeIf в этом коде?

import java.util.ArrayList;
import java.util.List;

List<String> files = new ArrayList<>();
for (int i = 0; i < 100_000; i++) {
    files.add(i % 2 == 0 ? "tmp-" + i : "data-" + i);
}

files.removeIf(name -> name.startsWith("tmp-"));

Представьте, что один поток создаёт объект с обычными полями и передаёт ссылку на него через несинхронизированное общее поле. Может ли другой поток увидеть ссылку, но не увидеть корректные значения этих полей?

Программирование JavaМногопоточностьJava-разработчик серверных приложений

Показано 161–180 из 403

Восстановление доступа