Это настройки по умолчанию. Убедитесь, открыв сайт в инкогнито режиме.
Можно проверить даже на десктопе, достаточно открыть встроенные в Chrome/Edge/Firefox developer tools и переключиться в режим эмуляции какого-нибудь iPhone 12 Pro или Pixel 5.
А это значит, что эти настройки действуют у большинства. Мы же про причины стагнации говорим, а не про мои личные неудобства? Я вообще этой шляпой не пользуюсь и сижу в старом интерфейсе.
Хабр стагнирует. Невероятно, но с доковидных времен количество просмотров упало аж в два раза!… Мне сложно судить о том, что именно стало этому причиной: одних лишь данных сухой статистики здесь недостаточно. Но если мы вдруг узнаем, что новый редактор только ускорил это падение, то вряд ли окажется сюрпризом.
IMHO здесь немалая заслуга у «нового интерфейса».
На экранах с небольшой диагональю от статей в ленте остаётся только заголовок. КДПВ и текст до ката идут лесом. В результате, для привлечения внимания остаётся только кликбейтный заголовок.
Результат — на лицо.
Другая причина — потоки пропагандистских помоев в виде перепечаток из СМИ от «информационной службы Хабра». Из тех же говносми к «редакторам хабра» пришла привычка наваливать в подвал новостной публикации кучи ссылок на другие перепечатки, зачастую слабо связанные по теме. Началось как раз во время ковидного безумия, усилилось после 23 февраля 2022 года.
Читать IT-ресурс с хорошими статьями — интересно, читать пропагандистскую помойку — не интересно.
Вышел человек, заявил свою гражданскую позицию, и его «стерли»
Стёрли и тотчас же обвинили в подделке документов.
Если кто забыл, то во времена ковидобесия в СМИ стращали уголовной ответственностью за предъявление ненастоящего кура-кода о вакцинации. Но кур-код документом не был, а вот нае-пасорт таким документом будет. Ну, а если оный наепаспорт не пройдёт валидацию на г-услугах, то упс.
Начинать статью с «компилятор Java обработает наш код» и потом хреначить весь код на Kotlin это какая-то шиза.
Хотя бы потому, что в class-файлах, генерируемых компилятором Котлина, целая гора требухи, которой нет в class-файлах, генерируемых компилятором Java. Те же проверки на null для значений non-nullable типов или Kotlin-специфичные аннотации, например.
Чтение и синтаксический разбор этого файла выполняет ClassLoader.
ClassLoader откуда-то берёт байтики class-файла и просит JVM загрузить из них класс, всё. Никакого «синтаксического разбора» он не делает.
На этой странице docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.4.1 перечислены все типы констант.
Ссылаться на спецификацию Java 7 в 2021 году, когда вышел оригинал этой статьи, несколько странно. На тот момент прошло уже более 7 лет с выхода Java 8, а актуальной на тот момент LTS-версией была 11 на начало года и 17 — в конце. Типов констант со времён Java 7 поприбавилось.
Если из этого перевода вы так и не поняли, что это за пул констант такой и с чем его едят, то рекомендую хабрастатью про это: https://habr.com/ru/articles/222519/
C момента написания появилось некоторое количество новых типов записей в constant pool, но основы неизменны и переданы отлично.
Такая модель памяти используется не только в Java, она также существует и в C++.
И в Java, и в C++ «моделью памяти» называют несколько иное. А именно, гарантии видимости изменений в ОЗУ при работе многопоточной программы.
Примечание: я установил начальное значение в 4. Но в консоль всё равно выводится 0. То есть, добавленный атрибут не инициализируется в 4. Почему – я не знаю.
Как уже указали в комментариях, для нестатических полей класса нужно явно инициализировать их в конструкторе. Здесь проектировщики API библиотеки ASM переусердствовали в погоне за удобством.
В байткоде для начальных значений полей места просто не предусмотрено, они просто инициализируются в значение по умолчанию.
Не совсем так. Для статических полей предусмотрен аттрибут ConstantValue (JVMS §4.7.2). Работает с полями строкового и примитивных типов.
JVMS §4.7.2
4.7.2. The ConstantValue Attribute
The ConstantValue attribute is a fixed-length attribute in the attributes table of a field_info structure (§4.5). A ConstantValue attribute represents the value of a constant expression (JLS §15.28), and is used as follows:
If the ACC_STATIC flag in the access_flags item of the field_info structure is set, then the field represented by the field_info structure is assigned the value represented by its ConstantValue attribute as part of the initialization of the class or interface declaring the field (§5.5). This occurs prior to the invocation of the class or interface initialization method of that class or interface (§2.9.2).
Otherwise, the Java Virtual Machine must silently ignore the attribute.
Но с не static final полями он не работает и именно об это споткнулся автор, невнимательно читавший JavaDoc. Тут, конечно, и авторы ASM хороши, накостылявшие в API такую сигнатуру для visitField().
В нашем случае самописные бенчмарки помогли серьёзно сократить длительность вызова System.nanoTime()
Так вы JVM разрабатываете или всё же вашу «Платформу пятой колонны»?
Оптимизация методов стандартной библиотеки и соответствующих им intrinsics это область ответственности разработчиков JVM. Пользователь тут разве что JVM прогреть может.
Тогда предлагаю для покупки билета на поезд, съездить на вокзал, постоять в очереди и купить бумажный билет за бумажные деньги, показав бумажный паспорт.
Предлагаю исключиь из цепочки показ паспорта как ненужный и бессмысленный элемент и будет вполне нормально. Никакой пользы гражданам этот ритуал не несёт.
Или каждый день утром покупать в метро жетончики за бумажные деньги.
Жетоны это не билеты с RFID, срока действия у них нет ⇒ можно сразу купить на несколько дней, если проездной почему-то не подходит.
И расплачиваться с таксистом только наличными.
Ну и в чём проблема?
Или вы предпочитаете «скинуть на карту по номеру телефона», светя свои ПД хрен знает кому?
Резюмируя: вы пытаетесь натянуть сову на глобус, не имея аргументов для защиты цифрового концлагеря.
Безналичные рубли вы можете снять в банкомате и распорядиться ими по своему усмотрению. Обменять на более твёрдую валюту и положить под подушку, проспонсировать банду противников самодержавия или даже, о ужас, пацифистов. Купить на них что-нибудь, наконец. Отобрать наличные у вас можно только физически, а отследить затруднительно.
С цифровым рублём всё иначе. Все транзакции учтены, а если вдруг что, то щелчок пальцев — и нет у вас больше никаких сбережений. Идеал цифрового концлагеря.
GitHub перевёл в архивный режим все репозитории с открытыми проектами от компании Yadro, а также все репозитории сотрудников, которые ассоциировали себя с этой компанией (1, 2, 3, 4, 5), кроме одного, у которого в профиле не была указана фамилия, а только имя.
Я искренне убеждён в том, что этого пользователя не стали блокировать вовсе не из-за фамилии, а потому что у него лапки:
Хринж это выбирать инструмент руководствуясь не целесообразностью, а соображениями уровня «кринж»/«некроинж», «модно»/«немодно», «люкс», «шик» и прочими терминами из лексикона Эллочки-людоедки.
Far Manager это, в первую очередь, удобно. Удобство — всё, имидж — ничто!
А можно пояснительную бригаду?
Гугель выдаёт, что это близкие отношения по обоюдному согласию:
Consensual Relationships: A consensual relationship refers to any relationship, either past or present, which is romantic, physically intimate, or sexual in nature, and to which the parties consent or consented. This includes marriage.
То есть абсолютно ничего предосудительного. Из-за чего сыр-бор?
В Интеле окопались воинствующие асексуалы?
Какие такие реалии, вы из 2020 года пишете?
В 2023 всем уже плевать на страшный и ужасный коронавирус, настолько он смертельно опасен.
Это настройки по умолчанию. Убедитесь, открыв сайт в инкогнито режиме.
Можно проверить даже на десктопе, достаточно открыть встроенные в Chrome/Edge/Firefox developer tools и переключиться в режим эмуляции какого-нибудь iPhone 12 Pro или Pixel 5.
А это значит, что эти настройки действуют у большинства. Мы же про причины стагнации говорим, а не про мои личные неудобства? Я вообще этой шляпой не пользуюсь и сижу в старом интерфейсе.
IMHO здесь немалая заслуга у «нового интерфейса».
На экранах с небольшой диагональю от статей в ленте остаётся только заголовок. КДПВ и текст до ката идут лесом. В результате, для привлечения внимания остаётся только кликбейтный заголовок.
Результат — на лицо.
Другая причина — потоки пропагандистских помоев в виде перепечаток из СМИ от «информационной службы Хабра». Из тех же говносми к «редакторам хабра» пришла привычка наваливать в подвал новостной публикации кучи ссылок на другие перепечатки, зачастую слабо связанные по теме. Началось как раз во время ковидного безумия, усилилось после 23 февраля 2022 года.
Читать IT-ресурс с хорошими статьями — интересно, читать пропагандистскую помойку — не интересно.
У вас комментарий битый, правильная последовательность —
\r\n.Стёрли и тотчас же обвинили в подделке документов.
Если кто забыл, то во времена ковидобесия в СМИ стращали уголовной ответственностью за предъявление ненастоящего кура-кода о вакцинации. Но кур-код документом не был, а вот нае-пасорт таким документом будет. Ну, а если оный наепаспорт не пройдёт валидацию на г-услугах, то упс.
Мы рождены, чтоб Кафку сделать былью.
2023/IV/12: Добавлена поддержка для нового шаблона адресов статей
*://habr.com/*/articles/*.Хотя бы потому, что в class-файлах, генерируемых компилятором Котлина, целая гора требухи, которой нет в class-файлах, генерируемых компилятором Java. Те же проверки на
nullдля значений non-nullable типов или Kotlin-специфичные аннотации, например.ClassLoaderоткуда-то берёт байтики class-файла и просит JVM загрузить из них класс, всё. Никакого «синтаксического разбора» он не делает.Ссылаться на спецификацию Java 7 в 2021 году, когда вышел оригинал этой статьи, несколько странно. На тот момент прошло уже более 7 лет с выхода Java 8, а актуальной на тот момент LTS-версией была 11 на начало года и 17 — в конце. Типов констант со времён Java 7 поприбавилось.
Если из этого перевода вы так и не поняли, что это за пул констант такой и с чем его едят, то рекомендую хабрастатью про это: https://habr.com/ru/articles/222519/
C момента написания появилось некоторое количество новых типов записей в constant pool, но основы неизменны и переданы отлично.
И в Java, и в C++ «моделью памяти» называют несколько иное. А именно, гарантии видимости изменений в ОЗУ при работе многопоточной программы.
Как уже указали в комментариях, для нестатических полей класса нужно явно инициализировать их в конструкторе. Здесь проектировщики API библиотеки ASM переусердствовали в погоне за удобством.
ifilonov
Не совсем так. Для статических полей предусмотрен аттрибут
ConstantValue(JVMS §4.7.2). Работает с полями строкового и примитивных типов.Но с не
static finalполями он не работает и именно об это споткнулся автор, невнимательно читавший JavaDoc. Тут, конечно, и авторы ASM хороши, накостылявшие в API такую сигнатуру дляvisitField().IMHO такой заголовок лучше:
Языковая модель не ведёт никаких списков, а значит и не может в эти списки кого-либо внести.
Вспоминается анекдот:
Вот прямо вот так, с
VoidиLong?Примитивные типы у вас из-за санкций закончились?
Зря я относился к заявлению Грефа про «дефицит сотрудников уже компенсирован» со скепсисом. На все 146% компенсировали.
Так вы JVM разрабатываете или всё же вашу «Платформу пятой колонны»?
Оптимизация методов стандартной библиотеки и соответствующих им intrinsics это область ответственности разработчиков JVM. Пользователь тут разве что JVM прогреть может.
Вспоминаются строки классика:
(Беломорс — Чёрный баннер)
— Что это?
— Это яйцо.
— А почему красное?
— Оно кубической формы и края острые.
Предлагаю исключиь из цепочки показ паспорта как ненужный и бессмысленный элемент и будет вполне нормально. Никакой пользы гражданам этот ритуал не несёт.
Жетоны это не билеты с RFID, срока действия у них нет ⇒ можно сразу купить на несколько дней, если проездной почему-то не подходит.
Ну и в чём проблема?
Или вы предпочитаете «скинуть на карту по номеру телефона», светя свои ПД хрен знает кому?
Резюмируя: вы пытаетесь натянуть сову на глобус, не имея аргументов для защиты цифрового концлагеря.
Я-то думал, что Тортуга — это остров, а оказалось — часть материка.
Безналичные рубли вы можете снять в банкомате и распорядиться ими по своему усмотрению. Обменять на более твёрдую валюту и положить под подушку, проспонсировать банду противников самодержавия или даже, о ужас, пацифистов. Купить на них что-нибудь, наконец. Отобрать наличные у вас можно только физически, а отследить затруднительно.
С цифровым рублём всё иначе. Все транзакции учтены, а если вдруг что, то щелчок пальцев — и нет у вас больше никаких сбережений. Идеал цифрового концлагеря.
Потомки химических конечных автоматов, домутировашие в чашке Петри до самосознания это довольно-таки интересно.
Я искренне убеждён в том, что этого пользователя не стали блокировать вовсе не из-за фамилии, а потому что у него лапки:
The Bat!
Фрагмент окна с предпросмотром письма. Целиком выглядит примерно так:
Far Manager это, в первую очередь, удобно. Удобство — всё, имидж — ничто!
А можно пояснительную бригаду?
Гугель выдаёт, что это близкие отношения по обоюдному согласию:
То есть абсолютно ничего предосудительного. Из-за чего сыр-бор?
В Интеле окопались воинствующие асексуалы?