База 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

Разберите последствия выполнения метода: какое исключение попадёт в catch и где окажется ошибка закрытия ресурса?

class Demo {
    static class R implements AutoCloseable {
        void use() { throw new IllegalStateException("body"); }
        @Override public void close() {
            throw new IllegalArgumentException("close");
        }
    }

    public static void main(String[] args) {
        try (R r = new R()) {
            r.use();
        } catch (Exception e) {
            System.out.println(e.getClass().getSimpleName());
            System.out.println(e.getSuppressed().length);
        }
    }
}
Программирование JavaИсключенияJava-разработчик серверных приложений

Практическая ситуация: определите, какое исключение увидит вызывающий код после выполнения метода run.

class Demo {
    static class Resource implements AutoCloseable {
        @Override
        public void close() {
            throw new IllegalStateException("close");
        }
    }

    static void run() {
        try (Resource resource = new Resource()) {
            throw new IllegalArgumentException("body");
        }
    }
}
Программирование JavaJava CoreJava-разработчик серверных приложений

Показано 21–40 из 403

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