При выполнении каких операций выведется <clinit> при условии, что класс X до этого не был инициализирован?
1. X.f()
2. System.out.println(new X()); 3. System.out.println(X.class); 4. Class.forName(X.class.getName()); 5. System.out.println(X.Y);
1. X.f()
2. System.out.println(new X()); 3. System.out.println(X.class); 4. Class.forName(X.class.getName()); 5. System.out.println(X.Y);
Final Results
15%
Только 1 и 2
2%
Только 1, 2 и 3
17%
Только 1, 2 и 4
9%
Только 1, 2, 3 и 4
58%
Во всех
👍6🔥4🤩1
Самый полезный сайт в Интернете 😂
https://howoldisjava8.today/
https://howoldisjava8.today/
How old is Java 8 today?
It's very old. Click the link for how old it is
😁5😢2🎉2🤩2👍1
👍3
Пример сниппета кода в джавадоке на примере документации к java.util.Stream (сверху - до, снизу - как бы это могло выглядеть в Java 18+).
1. Фрагмент кода теперь более заметен благодаря серому фону.
2. Появилась кнопка копирования в буфер обмена.
3. Код нормально выровнен по левому краю (обрезаны отступы).
4. Ссылки на методы кликабельны.
5. К некоторым идентификаторам применены стили (bold, italic, highlighted).
При этом исходный код сниппета является синтаксически валидным Java-кодом и может быть верифицирован внешними инструментами (например, IDE).
#java18
1. Фрагмент кода теперь более заметен благодаря серому фону.
2. Появилась кнопка копирования в буфер обмена.
3. Код нормально выровнен по левому краю (обрезаны отступы).
4. Ссылки на методы кликабельны.
5. К некоторым идентификаторам применены стили (bold, italic, highlighted).
При этом исходный код сниппета является синтаксически валидным Java-кодом и может быть верифицирован внешними инструментами (например, IDE).
#java18
👍16
Метод sun.misc.Unsafe.objectFieldOffset задепрекейтили в Java 18. Пока без forRemoval. Но в будущем станет forRemoval и будет удалён окончательно.
Что это для нас значит? Любителям несанкционировано покопаться во внутренностях JDK станет совсем туго. Придётся выдумывать новые ещё более ужасные хаки. Похоже, Lombok уже не получится запустить без кучи флагов --add-opens.
#java18 #unsafe #lombok
Что это для нас значит? Любителям несанкционировано покопаться во внутренностях JDK станет совсем туго. Придётся выдумывать новые ещё более ужасные хаки. Похоже, Lombok уже не получится запустить без кучи флагов --add-opens.
#java18 #unsafe #lombok
😢3
JetBrains приостанавливает все продажи в России и Беларуси. Многие российские сотрудники уже покинули страну.
#jetbrains
#jetbrains
🔥15💩13😢5🤮3👍2
Как вас затронули события, начавшиеся 24 февраля?
Final Results
1%
Сменил работу (новая работа в той же стране)
2%
Уволился, работу пока не нашёл
5%
Очень скоро придётся уволиться
3%
Пока работаю, но упала загрузка/ставка
1%
Ушёл в отпуск на неопределённое время
12%
Уехал из страны
57%
Ничего не поменялось, работаю как прежде
19%
Ничего из вышеперечисленного
Тем сотрудникам JetBrains, которые не примут решение о переезде из России до конца месяца, придётся уволиться
#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
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
👍9❤1👏1