Java guru
4.36K subscribers
1 photo
1 video
1 file
266 links
Новости из мира Java, обзоры интересных библиотек и фреймворков, обучающие статьи. Онлайн обсуждения актуальных тем и обмен опытом. Для связи @RodmanDV
Download Telegram
JDK 21: The GCs keep getting better.

Статья про улучшение производительности сборки мусора в JDK 21 по сравнению с JDK 8. Сравнение делается бенчмарком SPECjbb® 20151 для демонстрации прироста производительности и обсуждает влияние новых фич.

https://kstefanj.github.io/2023/12/13/jdk-21-the-gcs-keep-getting-better.html
👍5
Class Data Sharing (CDS) в Spring 6.1.

Довольно интересная фича появилась начиная с Spring Framework 6.1. Class Data Sharing (CDS) позволяет сократить время старта приложения и потребляемую память за счет кеширования метаданных классов.

Технически можно кешировать метаданные и прикладных классов.

https://spring.io/blog/2023/12/04/cds-with-spring-framework-6-1/
🔥2😱1
String Templates in Java – why should you care?

Шаблоны строк это
preview feature, которая впервые была представлена в Java 21. Она существенно упростит конкантенацию строк, а также повысит безопасность.

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

https://blog.jetbrains.com/idea/2023/11/string-templates-in-java-why-should-you-care/
🔥4
Virtual Threads for Lightweight Concurrency and Other JVM Enhancements

Статья Рона Пресслера, который является архитектором в
Oracle Java Platform Group, а также тех лидом проекта Loom в Oracle. По ссылке есть видео выступления, а ниже транскрипт для тех кто любит читать. Очень интересное выступление. Рекомендую посмотреть.

https://www.infoq.com/presentations/virtual-threads-lightweight-concurrency/
🔥5
Project Loom. Не только виртуальные потоки

В статье мало «технического мяса», но она больше интересна комментариями под ней. Там идет дискуссия в которой сравнивают корутины Java и Kotlin.

В самой статье по факту рекламируется инструмент автора построенный вокруг непубличного API из JDK
jdk.internal.vm.Continuation


https://habr.com/ru/articles/785334/
👍2🥰1
11 reasons the new Java is not like the old Java

Хорошее овервью ключевых новых технологий без глубокого погружения в каждую.

Рассмотрены:

1 Virtual threads
2 Structured concurrency
3 Immutable data
4 Garbage collection
5 Pattern matching
6 Streamlined syntax
7 Sealed classes
8 Foreign functions and memory
9 The Vector API
10 Improved null processing

https://www.infoworld.com/article/3711866/11-reasons-the-new-java-is-not-like-the-old-java.html#tk.rss_java
👍3🔥3
Планы Oracle по улучшению Java на 2024 год

Рассказано о том какие улучшения запланированы в таких проектах OpenJDK как Amber, Babylon, Leyden, Lilliput, Loom, Panama, Valhalla и на сколько жизнь разработчика станет прекрасна.

https://inside.java/2024/01/18/newscast-61/
👍3🔥2🤔1
Oh My Git — интерактивная игра для изучения Git.

Она визуализирует внутреннюю структуру Git-репозиториев в режиме реального времени. Получается очень наглядно.

https://ohmygit.org
🔥31👍1
Как сократить потребление памяти в интеграционных тестах с Kafka с помощью GraalVM

Довольно интересный опыт описан в статье по созданию нативного образа для EmbeddedKafka с использованием GraalVM. В теории можно поэкспериментировать подобным образом и с другими продуктами.

https://habr.com/ru/articles/788812/
👍2🔥2
Туториал по нотификациям через RSocket: от концепции до запуска в продакшн

Статья про разработку системы нотификаций для Альфа-Онлайн — мобильного банка в вебе. В решении использовались WebSocket в связке с RSocket.

https://habr.com/ru/companies/alfa/articles/788398/
🔥2
Машинное обучение для Java разработчиков: конвейеры данных машинного обучения

В статье описано как создать и развернуть модель данных машинного обучения в ПРОМ среде на базе Java с использованием Weka, Docker и REST.

Weka представляет собой набор современных алгоритмов машинного обучения и инструментов предварительной обработки данных.

https://www.infoworld.com/article/3454363/machine-learning-for-java-developers-machine-learning-data-pipelines.html#tk.rss_java
🔥4
Разбираемся с «MavenGate», новой атакой на цепочку поставок для Java и Android-приложений

Ей подверженны более 18% всех Java-библиотек. Суть ее основана на логике работы сборщиков Java/Android-проектов и разрозненности репозиториев, которые хранят эти библиотеки.

https://habr.com/ru/companies/swordfish_security/articles/790544/
🔥2👍1
Как мы начали использовать виртуальные потоки Java 21 и на раз-два получили дедлок в TPC-C для PostgreSQL

В этом посте рассказано о примере дедлока в TPC-C для PostgreSQL, причиной которого является исключительно переход на виртуальные потоки - и никаких проблем обедающих философов ))

https://habr.com/ru/companies/ydb/articles/786550/
👍3🔥1😁1
Как подружить нейросети и разработку: программируем с ChatGPT

Задача: создать простой REST-сервис на Java (с использованием Spring Boot и JPA) без написания кода.

Технологии: ChatGPT 3.5 + JAIG.

Итог: если бы автор статьи самостоятельно, вручную писал код, то по его оценке уложился примерно в один рабочий день. На работу с ChatGPT и JAIG у него ушло в общей сложности 10 дней 🤡

https://habr.com/ru/companies/ibs/articles/792032/
🔥2
Maven плагин для проверки семантической схемы версионирования Java-библиотек.

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

https://foojay.io/today/semantic-versioning-your-java-libraries/
👍2🔥2🤷‍♀1
MyBatis «на минималках»

Я не фанат этого фреймворка, но для кругозора посмотреть можно. Исходя из статьи в CDEK он используется в большинстве проектов. Лично я давно не слышал о его использовании в ПРОМе.

https://habr.com/ru/companies/cdek_blog/articles/771714/
👍2🤣1
Project Valhalla: эпичный квест Java за перфомансом

Project Valhalla, задуманный еще в 2014, призван дать возможность создавать кастомные примитивные или "value" объекты. Эти объекты должны представлять собой плоскую структуру, подобно рассмотренному выше массиву int[], а не дерево "указателей".

В статье приводится довольно интересное сравнение.

https://habr.com/ru/articles/787166/
2👍2🔥1
Игра Untrusted

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

Почему я решил запостить здесь?!?!? Потому что по слухам там есть задачки на Java ))

Сам я пока эту игру не играл. В детстве помню подобную консольную играл. Прям ностальгия ))

https://www.playuntrusted.com
👍2🔥2
Java ScopedValue: Ускоренный ThreadLocal

В инкубаторе JEP-429 появилась новая альтернатива ThreadLocal под названием ScopedValue. Она предназначена для того, чтобы предоставить более легкую альтернативу ThreadLocal. ScopedValue сейчас в стадии превью в Java 20+ (включая последний релиз Java 21).

https://habr.com/ru/companies/otus/articles/787978/
🔥3
Java Flight Recorder ожидает улучшения

В рамках проекта Skogsluft будут представлены продвинутые возможности профилирования Java приложений.

https://www.infoworld.com/article/3712811/java-flight-recorder-eyed-for-improvement.html#tk.rss_java
🔥5