Зачем компилятор Java создаёт bridge-метод при переопределении обобщённого метода?
База Hintsage
Java Core
Базовая семантика языка, типы, методы, классы и ключевые конструкции.
Практика
Вопросы: Java Core
Проверьте, будут ли вызовы increment() и reset() взаимно исключаться для одного объекта Counter при работе из разных потоков.
class Counter {
private int value;
synchronized void increment() {
value++;
}
void reset() {
synchronized (this) {
value = 0;
}
}
}
Объясните механизм: почему изменение значения String в Java создаёт новый объект, а не меняет существующий?
Оцените последствия публикации ссылки this из конструктора до завершения инициализации объекта.
Разберите случай, когда параметр метода и поле объекта имеют одно имя: какое значение получает обращение к имени без квалификатора?
Каким образом оператор && решает, вычислять ли правый операнд?
Предскажите последствия повторного обращения к классу после сбоя его статической инициализации. Первый и второй доступ выполнены в одном потоке.
public class Main {
static class Config {
static {
System.out.print("I");
throw new RuntimeException("init");
}
static int VALUE = 1;
}
public static void main(String[] args) {
for (int i = 0; i < 2; i++) {
try {
System.out.print(Config.VALUE);
} catch (Throwable e) {
System.out.print(e.getClass().getSimpleName() + " ");
}
}
}
}
Почему интерфейс Java не может объявить default-метод, переопределяющий equals?
Что гарантирует уникальность каждого значения enum в пределах одного типа Java?
Как Java проверяет, что final-поле инициализировано во всех конструкторах?
Показано 41–50 из 50