microJUG – Telegram
microJUG
979 subscribers
155 photos
1 video
2 files
237 links
Мысли о Java.
Основной канал: @miniJUG
Буст: https://news.1rj.ru/str/microJUG?boost
Чат: https://news.1rj.ru/str/micro_JUG
Таблица JEP'ов: https://minijug.org/jeps.html
Download Telegram
JetBrains приостанавливает все продажи в России и Беларуси. Многие российские сотрудники уже покинули страну.

#jetbrains
🔥15💩13😢5🤮3👍2
Тем сотрудникам JetBrains, которые не примут решение о переезде из России до конца месяца, придётся уволиться

#jetbrains
👍22👎20😱13🤮4🤬2😢2👏1🤔1
📆 Приблизительный план выхода preview-фич в JDK:

JDK 19 (2022):
Template strings (Amber)

JDK 20 (2023):
Deconstruction patterns (Amber)
Virtual threads (Loom)
Structured concurrency API (Loom)
Value classes (Valhalla)

JDK 21 (2023):
Primitive classes (Valhalla)
Universal generics (Valhalla)
Vector API (Panama)

2024:
• More structured concurrency (Loom)
• More/custom patterns (Amber)

2025:
Specialized generics (Valhalla)

P.S. Это личные догадки Николая Парлога, никаких гарантий, что именно так и будет.

#valhalla #loom #amber #panama #java19 #java20 #java21
👍91👏1
Снижение потребления нативной памяти сборщиком G1 в Java 17 и Java 18. Расходы сократились на 35-40%.

Источник.

#java18 #g1
👏203
⚡️ На странице Oracle JDK уже появилась Java 18. Но интересно не это, а вот это предложение:

JDK 18 will receive updates under these terms, until September 2025 when it will be superseded by JDK 19

Что это значит, я пока не понял. На опечатку не похоже. Теперь все релизы будут LTS-ами что ли?

Ждём официальных постов/комментариев.

Update: больше похоже на MTS. Т.е. LTS вообще отменяется, а вместо этого все релизы станут MTS.

Update 2: похоже на опечатку на сайте. Наверное, хотели написать September 2022.


Update 3: опечатку исправили
🤔2👍1😢1
Pattern matching for switch стало первой языковой конструкцией, которой не хватило два preview. В Java 19 будет третье preview. Неудивительно, ведь это очень сложная языковая фича с большим количеством краевых случаев.

В третьем preview предлагается заменить && в guarded patterns на when (расскажу подробней в еженедельном выпуске miniJUG).

#java19
👍12
Забавный факт.
Промежуток между выходом Java 9 и 18 – 4 года 6 месяцев.
Промежуток между выходом Java 6 и 7 – 4 года 7 месяцев.
👍8🤔6🤯2
Последствия JEP 400 в Идее
😁23😱2
Тагир попросил удалить его интервью с Егором из-за его позиции по Украине
👍38👎21😁4😢3🤮3🤯2
Вот такой рис продаётся в Индии. А почему не кофе то?
😁8🤔1
Нравится мне Идея. Вот какая ещё IDE вам подсветит, что вы неправильный протокол выбрали?

#юмор
😁14👍2🤔1🤩1💩1
⚡️ В Spring обнаружена критическая уязвимость, позволяющая злоумышленнику выполнить произвольный код. Уязвимости подвержены приложения при следующих условиях:
• JDK 9+
• Используется Apache Tomcat
• Используется WAR, а не jar
• Используются зависимости spring-webmvc или spring-webflux

Рекомендуется немедленно обновить версию Spring до 5.3.18 / 5.2.20.

#spring #vulnerability
😱9👍5👎1💩1
В Java хотят вернуть грин треды!
А ещё ввести новую конструкцию try-without-resources.
😁27👍2👏1
Рубрика "Сомнительные советы из Интернета". Кстати, найдите ошибку.
🤔6
This media is not supported in your browser
VIEW IN TELEGRAM
🙏 Заключительная речь Себастьяна Дашнера на вчерашней конференции SnowOne
20👏8🔥3🤔1
Замечали ли вы, что при отладке Java-приложений Step Over иногда может работать дико медленно? Ставите брейкпоинт на некоторой строке, потом шагаете по строкам, нажимая много раз F8, и бац, на каком-то из методов дебаггер тупо встаёт и долго не возвращается из метода. Иногда ждать приходится так долго, что проще убить процесс и начинать всё дебажить заново.

Некоторые могут начать винить в этом «кривую IDE», но это ограничение самой JVM. Абсолютно то же самое будет наблюдаться, если вы будете делать Step Over через jdb. Дело в том, что когда виртуальной машине шлётся команда StepRequest, то она полностью переключается в режим интерпретатора. Если метод большой и вызывает много-много других методов, то интерпретация может занять очень длительное время.

Какой выход из данной ситуации? Смириться, ведь это ограничение JVM. Но есть один простой трюк, который можно применять: использовать не Step Over (F8), а Run to Cursor (Alt + F9). Вы просто ставите мышь на следующую строку и нажимаете Alt + F9, потом опять на следующую строку и так столько раз, сколько нужно. Чуть-чуть неудобно, но если привыкнуть, то вполне рабочий вариант.

Кстати, вы можете спросить, а почему, например, IDEA так не делает по дефолту? Можно же бы было (просто) сделать так, чтобы IDEA автоматом ставила брейкпоинты на следующих строках, и всё бы летало? На самом деле, проблема в том, что в таком случае могут начаться проблемы с concurrency: какой-то поток может прийти в эту строку раньше, чем тот поток, на котором вы сейчас находитесь. А Step Over гарантировано продолжит работу в текущем потоке. Это безопаснее.

Думаю, можно бы было замутить какие-нибудь умные брейкпоинты с условиями, которые запоминали бы ID текущего потока, а потом вставало бы только, если ID совпадает. Но пока ни у кого руки не дошли.

P.S. Отладку ещё может сильно замедлять галочка “Show Method Return Values” в Debug View. Она отключена по умолчанию, но вы её могли случайно включить и забыть отключить.

#debug #intellijidea
👍19🤩2