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
JavaRoadmap.jpg
1.4 MB
Roadmap для разработчика Java в 2022 году. Узнали? Согласны?
Можно распечатать и повесить в кабинете.

Сорец
👍13🤔3😱1
🥳 Ну всё, Loom теперь уже точно в Java 19, правда пока preview.
🔥223🎉3
Роман Кеннке сообщил в рассылке, что проекту Lilliput удалось достичь 64-битных заголовков в JDK (в обычной версии JDK они занимают 96 или 128 бит). Билды Лиллипута можно тестировать уже прямо сейчас.

Следующий шаг - заголовки размером 32 бит.

Кстати, если вдруг вам хочется иметь 64-битные заголовки в продакшене, то можете просто использовать 32-битную JDK.

#lilliput
👏11👍1
Марк Рейнольд предложил переименовать домен openjdk.java.net в openjdk.org. Потому что родительский домен java.net сбивает с толку и вообще был закрыт в 2017 году.
🔥7
🥳 Виртуальные треды попали в mainline JDK. И они уже присутствуют в ранней сборке JDK 19 build 22.
Так что уже можете скачивать и экспериментировать.

#loom #java19
🔥14🎉3
Ежегодный опрос. Какую версию(-и) Java или язык JVM вы используете в продуктовом окружении и в разработке?
Final Results
1%
Java 7 или более старую
28%
Java 8
60%
Java 11
6%
Java 12-16
30%
Java 17
2%
Java 18
5%
Groovy
4%
Scala
16%
Kotlin
1%
Clojure
Забавная ситуация наблюдается с релизом JDK 19: почти все JEP'ы в них либо превью, либо инкубатор. То есть будет много новых фич, но все они только для того, чтобы поиграться, но не для продакшена. Из стабильных только JEP 422: Linux/RISC-V Port, но я не думаю, что кто-то из читателей этого канала использует такую архитектуру. Все остальные JEP'ы нестабильные:

JEP 405: Record Patterns (Preview)
JEP 424: Foreign Function & Memory API (Preview)
JEP 425: Virtual Threads (Preview)
JEP 426: Vector API (Fourth Incubator)
JEP 427: Pattern Matching for switch (Third Preview)

Также возможно успеет попасть JEP 428: Structured Concurrency (Incubator), и он тоже инкубатор.

PS. Зато нас похоже ждёт вкусный LTS-релиз Java 21, где будет стабильный Loom, паттерн-матчинг и FFI.

#java19
9😱1
😁20👍1
Результаты опроса по версиям Java и языкам. Проценты красным и зелёным - относительно прошлого 2021 года.

Пара выводов. Во-первых, Java 8 впервые больше не самая популярная версия (в прошлом году она была чуть-чуть выше Java 11), а самая популярная теперь Java 11. Во-вторых, Java 17 приятно удивила и перегнала даже Java 8, отбросив ту на третье место.

#java8 #java11 #java17
🔥6👍3😢2
🥳 Сегодня нашей любимой Джаве исполняется 27 лет. Её первая публичная версия вышла 23 мая 1995 года.
🎉203🔥1
JetBrains хочет убить старый добрый интерфейс полностью изменить интерфейс IntelliJ IDEA. Как вам?

(В комментах некоторые пользователи уже накидали говна).

#IntelliJIDEA
👎28💩8👍7🤮1
Сайт https://openjdk.org заработал
👍103🎉1
Немного не про Java. Как наглядно объяснить разницу между разными типами JOIN'ов одной картинкой.
🔥17👎2
This media is not supported in your browser
VIEW IN TELEGRAM
В следующей версии IDEA (2022.2) при изменении размера шрифта будет всплывать индикатор размера шрифта, а также можно будет изменять шрифт глобально для всех Editor'ов (через Alt+Shift+. / Alt+Shift+,)
#IntelliJIDEA
👍7👎1🤩1
В Java 19 наконец-то появятся методы, которые создают HashMap и HashSet с достаточным размером, чтобы туда поместилось n-ое количество элементов. Это будут следующие статические методы:

HashMap.newHashMap(int)
HashSet.newHashSet(int)
LinkedHashMap.newLinkedHashMap(int)
LinkedHashSet.newLinkedHashSet(int)

Да, у HashMap есть конструктор HashMap(int initialCapacity), но это не то же самое: этот конструктор создаёт лишь хеш-таблицу с нужной ёмкостью, а не с ожидаемым количеством элементов. Таблица расширится, если будет достигнут предел заполняемости (load factor), который по умолчанию равен 75%. Другими словами, если на пальцах, то HashMap.newHashMap(n) == new HashMap(n / 0.75).

#java19
👍15🤔4👏1🎉1
Заработало перенаправление с https://openjdk.java.net на https://openjdk.org. https://openjdk.org теперь окончательно стал первичным доменом.

Примеры (кликните, вас должно перенаправить):
https://openjdk.java.net/jeps/425
https://bugs.openjdk.java.net/browse/JDK-4511638
https://mail.openjdk.java.net/pipermail/jdk-dev/2022-June/006735.html
👍7
Алексей Шипилёв немного раскритиковал исходный код Loom, пока пытался портировать его на 32-битную архитектуру:

"Текущий код нуждается в значительной чистке, рефакторинге и (пере-)документации для того, чтобы нормально портировать и отлаживать его".

Другой разработчик, который портирует Loom на ppc64le, тоже пожаловался и сказал, что не успеет полностью портировать к выходу JDK 19.

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

Таким образом, похоже, что в JDK 19 виртуальные нити будут по-честному работать только на x86_64 и AArch64, а остальные архитектуры будут делать вышеупомянутый fallback.

#loom
😢6🤬1
🤣14🤮3👎1👏1
Какой у вас общий семейный доход (чистый, послу уплаты налогов)?
Final Results
68%
Меньше 5000 долларов в месяц
32%
Больше 5000 долларов в месяц
😢11😁5