Вопросы по теме '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 просмотров

пример 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