Вопросы по теме 'jls'

Почему это превышает ограничение в 65 535 байт в конструкторах Java и статических инициализаторах?
Отказ от ответственности: я понимаю, что могу сгенерировать это во время выполнения в Java, это было необходимо для особого случая при тестировании производительности некоторого кода. Я нашел другой подход, так что теперь это просто любопытство, а...
9084 просмотров
schedule 23.05.2023

Какова связь между JLS, Java и связанными с ними технологиями?
Java — это язык, JRE — среда выполнения, а JDK — инструменты разработки? JLS — это спецификация, которая говорит, что JRE должна делать x, y, z, и поэтому делает Java тем, чем она является? Верны ли эти взгляды, и если нет, может ли кто-нибудь...
2261 просмотров
schedule 21.10.2022

Каковы формальные условия для того, чтобы параметр-шаблон в универсальном типе Java находился в его границах?
Как в случае с параметризованными типами в Java правила, проверяющие, находится ли параметр в пределах границ, работают точно для подстановочных знаков? Учитывая такой класс: class Foo<T extends Number> {} Экспериментируя с тем,...
965 просмотров
schedule 19.10.2022

Java в операторе
В миллионный раз я хотел бы использовать оператор IN в Java, аналогичный оператору IN в SQL. Его можно было бы просто реализовать как синтаксический сахар компилятора. Так что это if (value in (a, b, c)) { } else if (value in (d, e)) { }...
5841 просмотров
schedule 21.05.2023

Если вы перезаписываете поле в подклассе класса, в подклассе есть два поля с одинаковым именем (и разным типом)?
У меня есть 3 класса: public class Alpha { public Number number; } public class Beta extends Alpha { public String number; } public class Gama extends Beta { public int number; } Почему следующий код компилируется? И почему...
51003 просмотров
schedule 24.08.2023

Семантика финальных полей в потоках
Это из JLS 17.5: Модель использования полей final проста. Задайте последние поля для объекта в конструкторе этого объекта. Не пишите ссылку на создаваемый объект в месте, где другой поток может видеть его до того, как конструктор объекта...
811 просмотров
schedule 21.07.2022

Порядок выполнения статических блоков в типе Enum по отношению к конструктору
Это из эффективной Java: // Implementing a fromString method on an enum type private static final Map<String, Operation> stringToEnum = new HashMap<String, Operation>(); static { // Initialize map from constant name to enum...
5179 просмотров
schedule 14.06.2023

О ссылке на объект до завершения конструктора объекта
Каждый из вас знает об этой особенности JMM , что иногда ссылка на объект может получить значение до завершения конструктора этого объекта. В JLS7, стр. 17.5 заключительная семантика поля мы также можем прочитать: Модель...
2419 просмотров
schedule 23.11.2022

Конструктор со списком аргументов нескольких типов в грамматике Java
грамматика Java из спецификации языка Java v7 определяет следующие правила грамматики для конструкторов: Primary: ... new Creator ... Creator: NonWildcardTypeArguments CreatedName ClassCreatorRest CreatedName (...
282 просмотров
schedule 17.08.2022

Стирание выполняется по-разному для подписи метода и метода?
Я наткнулся на пример, который предполагает, что стирание выполняется по-разному в сигнатуре и методе, но я не знаю, почему и как. JLS §8.4.8.3 указывает: Это ошибка времени компиляции, если объявление типа T имеет метод-член m1 и существует...
203 просмотров
schedule 18.04.2023

Является ли общедоступный статический окончательный избыточным для константы в интерфейсе Java?
Этот код: interface Config { int MAX_CONN = 20; } скомпилировал и работал как я ожидал. Похоже, это то же самое, что: interface Config { public static final int MAX_CONN = 20; } Является ли "общедоступный статический финал"...
31258 просмотров
schedule 27.06.2022

изменение конечных переменных посредством отражения, почему разница между статической и нестатической конечной переменной
Пожалуйста, обратитесь к приведенному ниже коду. Когда я запускаю код, я могу изменить значение конечной нестатической переменной. Но если я попытаюсь изменить значение конечной статической переменной, она выдаст java.lang.IllegalAccessException ....
7241 просмотров
schedule 22.03.2023

Почему класс не может расширить перечисление?
Мне интересно, почему на языке Java class не может расширять enum . Я говорю не о enum , расширяющем enum (что невозможно сделать, поскольку в java нет множественного наследования, и что enum s неявно расширяют java.lang.Enum ), а о классе,...
3208 просмотров
schedule 22.07.2023

Все ли имена являются идентификаторами?
В спецификации языка Java 6.2 ссылка Вот следующий пример кода: class Test { public static void main(String[] args) { Class c = System.out.getClass(); System.out.println(c.toString().length() +...
110 просмотров
schedule 11.02.2024

Верно ли, что каждый внутренний класс требует внешнего экземпляра?
Термин внутренний класс обычно означает "вложенный класс, который требует внешнего экземпляра". Однако JLS заявляет следующее: 8.1.3. Внутренние классы и вложенные экземпляры [...] Внутренние классы включают локальные...
6518 просмотров
schedule 02.04.2022

Что означает наблюдаемость пакета в главе 7 JLS
Я изучаю спецификацию языка Java, и у меня есть проблема со значением "Observability of a Package" в JLS 7.4.3 — Наблюдаемость пакета : Пакет является наблюдаемым тогда и только тогда, когда: Единица компиляции, содержащая...
232 просмотров
schedule 26.07.2022

Где runtime Endianness определен в спецификации языка Java?
Кажется, что среда выполнения Java - это Big Endian, но я не могу найти ссылку на это, только для спецификации файла класса JVM. Я ищу окончательное место в JLS (независимо от версии), в котором указано, что: int value = 4096; // 0b0001 0000...
230 просмотров
schedule 08.06.2022

Java Bounded Generics: ошибка вывода типа? (Вызов метода, JLS 15.12.2.7)
Для следующего фрагмента кода: import java.util.List; public class Main { interface Interface1<T> {} interface Interface2<T> extends Interface1<T> {} static class Bound {} interface BoundedI1<T extends...
391 просмотров

Каково точное значение контекста final-field-safe в JLS
Термин final-field-safe context часто используется в параграфе 17.5.3 JLS (последующая модификация конечных полей). Хотя, как можно понять из спецификации (если я здесь не прав, поправьте меня) An implementation may provide a way to execute a...
431 просмотров
schedule 12.06.2022

Является ли хорошей практикой удаление функции вместо того, чтобы оставить ее с устаревшей аннотацией
Итак, у меня был долгий спор с некоторыми парнями, и они продолжали спорить о своих самодельных кодовых соглашениях. В соответствии с этим они сказали, что если есть метод, который вы при кодировании материала, по вашему мнению, следует устареть. Вы...
69 просмотров
schedule 24.04.2022