Обновить
4
Владимир Шалимов@PVoLan

Пользователь

3
Подписчики
Отправить сообщение

Конечно, не надо верить мне на слово, поэтому посмотрите на этот тест - https://github.com/blinky-z/JmmArticleHabr/blob/main/jcstress/tests/object/JmmReorderingObjectSameReadNullTest.java. Он воспроизводится даже на x86 (где запрещены LoadLoad переупорядочивания) из-за оптимизаций компилятора.

С этим тестом как раз все понятно, там чтения и потенциальная возможность/целесообразность их переупорядочивания вполне очевидна.

С п.2 все не так очевидно. Хотя, я, кажется, начинаю понимать, что вы имеете в виду.

Теоретически, можно предположить, что скомпилированный код

а) сначала прочитает значение переменной instance для использования в строке 90 return instance; В этот момент может прочитаться null

б) позднее еще раз прочитает значение переменной instance для использования в строке 87 if (instance == null), и в этот момент прочитается не-null

Так получается?

Теоретически, вроде бы, действительно я не вижу противоречия упомянутым правилам happens-before при таком раскладе. Но выглядит как-то совсем бредово...

Подумал третий раз и увидел, что в тех случаях, когда мы возвращаем объект mock, мы не делаем проверок на его содержимое и всегда возвращаем -1, так что моя гипотеза в п.1 скорее всего неактуальна (хотя стоило бы проверить на всякий случай)

Подумал еще раз и понял, что ситуацию с перестановкой местами вызова конструктора и присваивания ссылки мы также можем видеть и для instance = new Foo(); в строке 83. В этом случае строка 90 return instance; тоже может возвращать недозаполненный объект и триггерить outcome 0.

Но возвращать null строка 90 все равно не может

Эмммм, по-моему вы заблуждаетесь.

В п.2 чтения как раз таки связаны, и они не могут быть поменяны местами, т.к. это ломает консистентность в пределах одного потока. Точнее, сами чтения-то не связаны, а вот чтение + последующая return - очень даже связаны. Если в строке 87 instance == null выполняется, инструкция return instance; не может быть выполнена, ибо они в одном потоке.

А вот в процедуре создания объекта mock как раз таки возможна та самая перестановка, о которой я говорю в своем пункте 1, а вы - в своем последнем абзаце, когда вызов конструктора и присваивание ссылки на созданный объект меняются местами. В этом случае (очевидно предположить, что инициализация статической переменной mock случается в каком-то третьем потоке [утверждение требует проверки - ред.]) в строке 88 может быть возвращен "недозаполненный" объект mock, который триггерит @Outcome(id = "0", expect = Expect.ACCEPTABLE_INTERESTING, desc = "Object's data is null")

Так. Тут происходит что-то очень интересное, но не совсем очевидное.

1) Я так понимаю, что в некоторых случаях в ссылку Foo.mock оказывается записан валидный объект ДО того, как констуктор этого Foo.mock отработает. Ноооо... в каком треде происходит выполнение инструкции static final Foo mock = new Foo();и почему?

2) У вас в строке 90 приписан комментарий return instance; // can return null Это сбивает с толку - действительно ли в этой строке может вернуться null? Это же нарушает reordering в пределах одного потока. И в ваших тестах нет ни одного подобного случая.

А можно ссылочку на это самое федеральное законодательство? Какая именно статья устанавливает этот запрет?

Провайдеров электронной почты - мильен, на любой вкус и цвет. Если ни один не нравится, можно сделать вообще свой собственный.

Если мне не нравится провайдер Госуслуг, я могу сделать себе аналогичный аккаунт где-то на другом сервисе?

Ну, во-первых, паспорт есть у всех, а аккаунт на госуслугах - нет. И, да, я не вижу причин, по которым наличие аккаунта на госуслугах должно быть обязательно для "нормального человека".

Во-вторых, очевидно, что у государства появится глобальный реестр доменов, где на каждого Васю Пупкина будет виден список доменов, которые на него зарегистрированы. Очень удобно будет в случае признания Васи экстремистом заблокировать все его сайты. Раньше такой реестр был только у каждого регистратора в отдельности.

Или нервов, передающих сигнал от рецептора в мозг. Или стуктур в мозге, которые этот сигнал от нервов принимают.

Да, теоретически. Но в контексте респираторного вируса гораздо более вероятно предполагать, что этот вирус что-то там поломает в носу (где вирус обитает в больших количествах), чем ожидать, что вирус магическим образом проникает в мозг и устанавливает там вредоносное китайское ПО поражает нейроны и прочее, что там в мозгу находится.

Последнее предположение тем более невероятно, если учесть, что потеря запаха-вкуса - симптом сравнительно распространенный, а вот другие нарушения мозга (потеря зрения, осязания, слуха, амнезия, эпилепсия, что там еще бывает?) наблюдаются крайне редко. Вряд ли вирус настолько избирателен, что поражает именно те участки мозга, что отвечают только за обоняние.

Пара газетных вырезок на эту тему (не ланцет, зато доступно для понимания).

Я когда весной 2020-го из-за границы вернулся, и честно отсидел не выходя из дома 2 недели на карантине - у меня тоже была жуткая деградация и физического, и интеллектуального состояния. Без всякого там ковида.

Да, после болезней, бывает, нужна реабилитация и восстановление. Также как и после травм, стрессов, тяжелой работы, перемены погоды, магнитных бурь и прочая. Почему ковид должен как-то особенно выделяться среди прочих невзгод в этом отношении?

нет запаха пол года и полная деформация вкуса, и лучше не становится. А не было даже малейшей температуры, и да, это серьезные повреждения мозга на самом деле;

Почему вы потерю запаха связываете с нарушениями в мозге? Потеря запаха - это нарушение работы рецепторов в носу, и на мозг никак не влияет.

Для меня даже такая разница в процентах - точно вакцинация. А для вас нет? Вы в себе уверены и в вашем иммунитете?

А для меня - нет. Особенно с учетом того, что у нас нет хоть сколько-нибудь внятных данных о "такой разнице в процентах" - официальные данные просто-напросто не дают статистику по этому вопросу. Да, я довольно-таки доверяю своему иммунитету. Может быть, не на 100%, но пока что больше, чем вакцине. И, даже если я неправ в своем доверии - это мои проблемы, а не ваши.

Но прививка, при всей своей доказанной эффективности, не гарант увы. И с ней болеют, и с ней получают осложнения и тд.

Тааак. А теперь прибавьте к этому тот факт, что порядка 50% людей переболевают ковидом бессимптомно или совсем легко (точная цифра варьируется в диапазоне от 30 до 90%, что как бы говорит о качестве наших знаний про ковид). Т.е., с одной стороны, мы даже элементарные вещи про ковид достоверно предсказать не можем, с другой же, очевидно, что у значительного количества людей иммунитет справляется с болезнью сам, даже без лекарств.

Негарантирующая вакцина против неизученного вируса. Но прививаться надо, понимаешь ли, обязательно, иначе - враг народа. Теперь вы понимаете, почему я не привит?

А я напомню, что сегодня именно Россия мировой чемпион по трупам

По общему количеству - может быть, но так и население в России не самое маленькое. Вот тут, например, показано, что по числу смертей за последнюю неделю в пересчете на млн населения мы на 17 месте. Все еще дофига, но все же не мировое чемпионство.

Ваша любовь к Макдональдсу не передается воздушно-капельным путем другим, поэтому ваши риски ожирения, диабета и сердечно-сосудистых заболеваний, это ваши личные риски, а не мои. С ковидом все не так.

Дык прививайтесь, и будет вам счастье.

Аргумент про опасность больного (особенно бессимптомного) для окружающих (из-за чего, напомню, начали вводить все эти маски и локдауны в 2020-м) перестает работать с появлением вакцинации. Если вы лично боитесь заболеть ковидом - сделайте прививку себе, и тогда вам будут не страшны чихающие вокруг непривитые дети.

Видите ли, евреев тоже поначалу гнобили не потому, что они евреи. Изначально это называлось "защитой прав немецких трудящихся в условиях глобального экономического кризиса и безработицы" (в начале 30-х в Германии действительно был лютый кризис и безработица, что в значительной мере поспособствовало приходу Гитлера к власти).

Локдауны вам же не запрещали в принципе выходить из дома и встречать других людей

Товарищ, вы, кажется, забыли смысл слова локдаун. В марте-апреле 2020 локдауны во многих странах запрещали именно-таки выходить из дома и встречать других людей, за редким исключением типа похода в продуктовый или выноса мусора.

И если посмотреть на ПДД, то они вас точно так же очень сильно ограничивают в плане того где, как и с какой скоростью вы можете ездить на машине.

Это верно. Но, смотрите, у меня нет прав на автомобиль и никогда не было. И это никак не мешает мне, как и многим другим людям (по крайней мере в городе, где есть общественный транспорт) жить весьма полноценной жизнью, работать, удовлетворять свои материальные, культурные, иные потребности.

QR-коды бьют по возможностям человека гораздо больнее, чем отсутствие прав на вождение.

Странно, что в больших городах до сих пор не введен локдаун на автомобильное движение? Ведь каждый день кто-то умирает в ДТП...

Вакцинация (даже сверх-надежная) тоже не гарантирует счастливую и спокойную жизнь. Кроме ковида, есть еще множество способов заболеть и/или умереть.

Здесь сложно удержаться от язвительного вопроса о том где вы были, когда проклятые власти "отключали", скажем, поваров, не желающих колоть в себя препараты, от трудоустройства

Писал приблизительно такие же комментарии, но на другом ресурсе.

моей маме, например, уже второй год отказывают в некогда плановой операции по причине того, что все ресурсы в районе отведены на спасение жизней заболевших COVID-19

Таки это из-за того, что у людей нет QR-кода, или из-за того, что ресурсы медицины в районе распределены с перекосом? Перекос можно решать разными средствами, необязательно устраивать концлагерь.

Я бы вполне поддержал, например, вывод ковидного лечения из системы ОМС для непривитых (с одновременным разрешением частным клиникам работать с ковидом платно). Это имеет логику: не исполняешь рекомендации "государственного" врача - "государственный" врач не будет тебя лечить. Если гипотеза о том, что прививка защищает - верна, это в разы разгрузило бы перегруженную медицину, и вашей маме нашлось бы место для операции

Это справедливо и в обратном направлении.

Если вы беспокоитесь о своем личном здоровье - у вас есть масса способов для защиты. Всякие там маски, самоизоляция, вакцинация, и т.п. У вас есть полная свобода использовать эти средства "на себя", но она ограничена свободой других людей распоряжаться своим здоровьем так, как они считают разумным.

Я, честно говоря, в шоке и от статьи, и от комментов к ней.

Право человека решать, колоть ему что-то в себя или нет - это базовое личное право человека, незаисимо от того, насколько хорош или плох вкалываемый ему препарат. Сейчас по всей стране (и много где за ее пределами) идет массовая насильственная кампания за отъем у человека этого базового права, в частности, путем "отключения" непривитых от базово необходимых жизненных вещей типа похода в магазин или трудоустройства. По существу - все то же самое, что происходило в начале 30-х годов в Германии против евреев. И в этот момент продвинутые технари на полном серьезе обсуждают, понимаешь ли, почему вот именно вот этот вот способ насильственного давления на людей как-то не очень эффективен.

Товарищи, а когда для непрвитых начнут строить газовые камеры, вы тоже будете обсуждать, из какого металла лучше делать газовые трубы, и как правильно рассчитать схему установки этих камер по городам с целью эффективного расхода газа?

Цифровой ассистент и поисковик - это несколько разные продукты :) Во всяком случае, мне бы хотелось видеть их разными продуктами...

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность