Вопросы по теме 'jls'
Пример правильно синхронизированной программы с гонками данных в модели памяти Java
В JLS, §17.4.5. "Случается перед заказом" , в нем говорится, что
Программа правильно синхронизируется тогда и только тогда, когда все последовательно согласованные исполнения свободны от гонок данных.
Согласно обсуждению в Есть ли...
624 просмотров
schedule
29.11.2021
Почему компилятор Java не может вывести Iterable ‹String› из ограничений Iterable ‹? расширяет CharSequence ›и () -› (Iterator ‹String›)
История вопроса: недавно я написал ответ , где я предложил написать следующий код:
Files.write(Paths.get("PostgradStudent.csv"),
Arrays.stream(PGstudentArray).map(Object::toString).collect(Collectors.toList()),...
316 просмотров
schedule
15.11.2021
почему я не получаю ссылку на метод неоднозначно в следующем коде?
У меня есть базовый или родительский класс, у которого есть перегрузка method1 (int, int) и method1 (double, double)
public class Sub extends Base{
@overridden
method1(double,double) {`some manipulation`}
main{
method1(1,1);...
31 просмотров
schedule
18.11.2021
В чем разница между квалифицированным именем и выражением доступа к полю?
Из подробностей JLS о защищенном доступе :
Пусть C будет классом, в котором объявлен защищенный член. Доступ разрешен только в теле подкласса S класса C.
Кроме того, если Id обозначает поле экземпляра или метод экземпляра, то:...
1079 просмотров
schedule
01.03.2022
Java: разрешение времени компиляции и наиболее конкретный метод применительно к переменной арности
Может ли кто-нибудь помочь мне понять раздел 15.12.2.5 JLS re: самый конкретный метод ?
(далее следует дубленый вырезать и вставить из JLS)
Кроме того, один метод члена переменной arity с именем m является более конкретным, чем другой...
822 просмотров
schedule
08.03.2022
Что делать, если в операторах сдвига используется оператор приведения
В JLS говорится, что
Тип выражения сдвига - это расширенный тип левого операнда.
Если повышенным типом левого операнда является int, то в качестве расстояния сдвига используются только пять младших битов правого операнда. Это как если бы...
90 просмотров
schedule
11.04.2022
Что такое преобразование захвата в Java и может ли кто-нибудь привести мне примеры?
Я заметил, что JLS говорит о 5.1.10 Capture Преобразование , но я не понимаю, что это такое.
Может ли кто-нибудь объяснить их мне/привести примеры?
11046 просмотров
schedule
20.04.2022
notify() -> все потоки в ожидании должны завершиться
Согласно 17.2.4. Взаимодействие ожиданий, уведомлений и прерываний :
Точно так же уведомления не могут быть потеряны из-за прерываний. Предположим, что набор потоков s находится в наборе ожидания объекта m, а другой поток выполняет...
62 просмотров
schedule
24.04.2022
Почему в интерфейсах нет статических методов, но есть статические поля и внутренние классы? [pre-Java8]
Здесь было задано несколько вопросов о том, почему вы не можете определять статические методы в интерфейсах, но ни один из них не решает основную несогласованность: почему вы можете определять статические поля и статические внутренние типы в...
54701 просмотров
schedule
06.06.2022
Является ли «T.super» допустимым выражением согласно JLS?
Рассмотрим следующий набор выражений:
class T {{
/*1*/ Object o = T.super; // error: '.' expected
/*2*/ o.toString();
}}
Попытка скомпилировать это будет неудачной в строке /*1*/ с ошибкой:
error: '.' expected
o = T.super;...
243 просмотров
schedule
29.06.2022
Существуют ли какие-либо гарантии в JLS относительно порядка выполнения статических блоков инициализации?
Интересно, надежно ли использовать такую конструкцию, как:
private static final Map<String, String> engMessages;
private static final Map<String, String> rusMessages;
static {
engMessages = new HashMap<String, String> ()...
419 просмотров
schedule
18.07.2022
Частное поле в подклассе доступно в суперклассе
Написано на JLS (см. раздел 8.3):
«Частное поле суперкласса может быть доступно для подкласса, например, если оба класса являются членами одного и того же класса. Тем не менее, частное поле никогда не наследуется подклассом».
Не могли бы вы...
737 просмотров
schedule
17.07.2022
Java - реализация нескольких интерфейсов с одним и тем же методом и разными типами возврата
Рассмотрим следующий код:
public interface A {
public A another();
}
public interface B {
public B another();
}
public interface AB extends A,B {
public AB another();
}
Это приводит к ошибке компиляции на AB :
типы В и А...
5095 просмотров
schedule
31.07.2022
пример нестабильного jls
Если следующий код не вызывает AssertionError в Windows 7 x86 jdk 7 (с включенным -ea) на Пример JLS для volatile ?
public class TestVolatile {
static volatile int i = 0;
static volatile int j = 0;
static void one() {
i++;
j++;...
191 просмотров
schedule
21.08.2022
пример volatile (который в JLS8/8.3.1.4 volatile Fields) не работает?
http://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-8.3.1.4
Спецификация языка Java 8/8.3.1.4 volatile Fields
пример нестабильности
Вопрос:
В примере с volatile я добавляю ключевое слово synchronized к методу two() ,...
62 просмотров
schedule
12.09.2022
Изменение порядка в связи JMM "происходит до"
В JLS написано, что происходит до отношения JMM (раздел 17.4.5):
Следует отметить, что наличие связи между двумя действиями не обязательно означает, что они должны происходить в этом порядке в реализации.
Меня интересуют примеры этого...
327 просмотров
schedule
16.09.2022
Какое изменение JLS 6/7 приводит к тому, что следующий непроверенный код с коллекциями и дженериками работает в Java 7?
Следующий код
import java.util.*;
import java.io.*;
@SuppressWarnings("unchecked")
List<Serializable> list = (List<Serializable>) (List<?>)
Collections.singletonList(new Object());
for (Object el : list) { // ->...
96 просмотров
schedule
10.11.2022
JLS, кажется, противоречит сам себе
Ознакомьтесь со Спецификацией Oracle — Глава 5 .
Эта строка:
Расширяющее примитивное преобразование не теряет информацию об общей величине числового значения.
всего двумя строками ниже следует эта строка, в которой говорится, что...
146 просмотров
schedule
01.01.2023
jls. заменяемый возвращаемый тип. Что это означает?
Я читаю jls и столкнулся со следующим термином:
return-type-substitutable
фрагмент из JLS
Объявление метода d1 с типом возвращаемого значения R1 можно заменить другим методом d2 с типом возвращаемого значения R2, если верно любое из...
368 просмотров
schedule
23.01.2023
Неоднозначность потребителя/функции Java 8 Lambda
У меня есть перегруженный метод, который принимает объект Consumer и Function соответственно и возвращает общий тип, соответствующий соответствующему Consumer/Function. Я думал, что все будет хорошо, но когда я пытаюсь вызвать любой метод с...
5074 просмотров
schedule
13.03.2023