Вопросы по теме 'jls'
В Java, почему я не могу написать i++++ или (i++)++?
Когда я пытаюсь написать постфикс/префикс в/декременте, за которым следует пост/префикс в/декременте, я получаю следующую ошибку: Недопустимый аргумент для операции ++/-- .
Но, согласно JLS:
PostIncrementExpression:
PostfixExpression...
4195 просмотров
schedule
29.12.2022
Как RuntimeExceptions не проверяется компилятором, даже если они расширяют класс Exception?
Когда мы создаем CustomException путем расширения класса Exception, оно проверяется компилятором, но даже несмотря на то, что RuntimeExceptions расширяет класс Exception, они не проверяются компилятором .
Как это устанавливается в компиляторе. Я...
491 просмотров
schedule
15.12.2022
Разрешается ли переупорядочивание этой инструкции JLS или нет?
Согласно Спецификации языка Java ( Пример 17.4 -1 ) следующий фрагмент (начиная с A == B == 0 )...
Thread 1 Thread 2
-------- --------
r2 = A; r1 = B;
B = 1; A = 2;
... может привести к r2...
178 просмотров
schedule
08.01.2023
Почему JLS утверждает, что самый большой литерал int равен 2147483648?
JLS 3.10.1. Integer Literals http://docs.oracle.com/javase/specs/jls/se7/html/jls-3.html#jls-3.10.1 указывает
The largest decimal literal of type int is 2147483648.
В то же время эта линия
int x = 2147483648;
выдает ошибку...
232 просмотров
schedule
24.10.2022
Разъяснение из спецификации Java Janguage
Разве это не должно быть myS.equals("/usr") в этом объяснении из JLS ?
Заключительные поля предназначены для обеспечения необходимых гарантий безопасности. Рассмотрим следующий пример. Один поток (который мы будем называть потоком 1)...
109 просмотров
schedule
08.03.2022
Происходит ли это до того, как правило порядка программы работает в конструкторах?
Действительно ли возможно просмотреть частично построенный объект в потоке, созданном в конструкторе, из-за отсутствия синхронизации и утечки этого экземпляра?
За исключением случая, когда есть дочерний класс, конечно, или мы делаем неявное...
258 просмотров
schedule
16.06.2023
Лямбда-выражение и метод перегружают сомнения
Итак, перегрузка методов — это плохо™. Теперь, когда это решено, давайте предположим, что я действительно хочу перегрузить такой метод:
static void run(Consumer<Integer> consumer) {
System.out.println("consumer");
}
static...
10061 просмотров
schedule
08.12.2022
Позволяет ли «порядок программы» в Java изменять порядок?
В одной теме у меня есть
write a = 0
write a = 1
write volatile flag = 1
Во 2-й теме у меня есть
read volatile flag // This always happens after I write volatile flag in thread 1
read a
Может ли произойти переупорядочение, чтобы я...
223 просмотров
schedule
06.09.2022
Что содержит заявление?
JLS 14.21 используется в описание правила для недостижимого оператора, содержащегося в каком-либо операторе. Для конкретики приведу цитату:
Оператор while может завершиться нормально, если верно хотя бы одно из следующего:...
61 просмотров
schedule
19.06.2023
Почему преобразование в режиме non-strictfp считается потерей информации?
Я понимаю, что преобразование в режиме strictfp используется для переносимости, а не для точности, как указано в этом вопросе . Однако в спецификации языка Java, Java SE 8 Edition говорится, что
Расширяющее примитивное преобразование из float...
160 просмотров
schedule
02.01.2023
Правила выделения подтипов наиболее специфичных методов в Java
В §15.12.2.5 Спецификации языка Java они описывают, как Java выбирает наиболее конкретный метод для вызова из списка как доступных , так и применимых методов.
Есть одно конкретное замечание, которое я не понимаю, а именно:
(1) Тип S...
76 просмотров
schedule
20.02.2024
Назначение эффективной конечной переменной в операторе try/catch
Следующий код не компилируется с javac 1.8.0_144 и ecj:
private LongSupplier foo() {
long fileSize;
try {
fileSize = canThrow();
} catch (IOException e) {
fileSize = 42;
}
LongSupplier foo = () -> 1 +...
678 просмотров
schedule
07.07.2022
Разница между аннотациями объявлений и аннотациями типов
Java 8 представила аннотации типов с JSR308. Согласно спецификациям языка Java
аннотации типа можно использовать везде, где используется тип, например, в объявлениях, общих аргументах, приведениях и т. д.
Я относительно новичок в Java,...
979 просмотров
schedule
24.01.2024
Java: метод Vararg вызывается с явным массивом подклассов
Рассмотрим следующий пример, игнорируя причину, по которой можно было бы это сделать:
private static class Original {
public String getValue() {
return "Foo";
}
}
private static class Wrapper extends Original {
private...
122 просмотров
schedule
16.04.2023
Почему Java запрещает инициализатор массива в качестве аргумента вызова метода?
В Java мы можем определить переменную массива и инициализировать ее следующим образом:
int[] prime10 = new int[] { 2, 3, 5, 7 };
В JLS правая часть присваивания называется ArrayCreationExpression . Инициализатор в терминах синтаксиса JLS:...
102 просмотров
schedule
19.04.2024
Является ли экземпляр класса Java singleton?
Согласно Java 8 Language Спецификация §15.8.2 (цитата):
[...]
Литерал класса оценивает объект Class для именованного типа (или для void), как определено определяющим загрузчиком класса ( §12.2 ) класса текущего экземпляра.
[...]
В...
188 просмотров
schedule
17.10.2022