При каких условиях JVM выполняет проверку оператора assert в Java?
База Hintsage
Программирование Java
Язык Java, JVM и экосистема серверной разработки.
Темы раздела
Выберите подраздел
- 3 вопроса
Общие вопросы
Смешанные вопросы по Java.
Открыть раздел - 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
Как объясняется запрет проверки параметризованного типа через instanceof в Java?
Какой механизм объясняет, почему статический метод интерфейса нельзя вызвать через переменную типа реализующего класса?
Допустимо ли объявить в одном классе два метода с одинаковым именем и параметрами, различающихся только возвращаемым типом?
Что возвращает оператор instanceof при проверке null-ссылки и каким механизмом это объясняется?
Чем отличается конструктор от метода с точки зрения наследования в Java?
Найдите причину, по которой нестатический метод нельзя вызвать из статического контекста без экземпляра.
При передаче единственного null в varargs-параметр что фактически получает метод: массив из одного элемента или null-ссылку?
Объясните механизм: почему Java не компилирует перегрузку методов, отличающихся только параметрами с разными параметризованными типами?
Разберите, почему выражения a == b и a == c дают разные результаты в программе ниже, хотя все строки содержат одинаковый текст.
public class Main {
public static void main(String[] args) {
String a = "java";
String b = "ja" + "va";
String c = new String("java");
System.out.println(a == b);
System.out.println(a == c);
System.out.println(a.equals(c));
}
}
Из-за какого правила составное присваивание переменной типа byte допускает результат арифметики без явного приведения?
Определите вывод программы и объясните роль расположения default в этом switch.
public class Main {
public static void main(String[] args) {
int code = 5;
switch (code) {
case 1:
System.out.print("A");
default:
System.out.print("D");
case 3:
System.out.print("C");
}
}
}
Вложенный цикл должен завершать внешний цикл одним оператором: какое правило Java определяет область действия метки?
Как Java проверяет тип элемента при записи в массив ссылочного типа, если фактический массив создан для другого типа?
Как изменение поля, участвующего в hashCode, после помещения объекта в HashSet влияет на последующий поиск этого объекта?
Может ли метод потомка переопределить private-метод родителя, если совпадают имя и параметры?
От чего зависит тип результата бинарного арифметического выражения в Java при разных примитивных типах?
В каком порядке Java вычисляет аргументы вызова метода при наличии побочных эффектов?
Срабатывает ли инициализация класса Java при любом обращении к его статическому полю?
Представьте, что локальная переменная объявлена через var: изменится ли её тип после присваивания объекта другого класса?
Показано 341–360 из 403