TGViewer
Channel Public Channel
Java guru

Java guru

@java_guru

Новости из мира Java, обзоры интересных библиотек и фреймворков, обучающие статьи. Онлайн обсуждения актуальных тем и обмен опытом. Для связи @RodmanDV
ry-12537748218192955366
Subscribers
923
Photos
1
Videos
1
Links
270

Showing posts older than #177 · Back to latest

Older Posts 20 shown
Post #176 3.93K
Java ScopedValue: Ускоренный ThreadLocal

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

https://habr.com/ru/companies/otus/articles/787978/
  • 🔥 3
Post #175 3.42K
Игра Untrusted

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

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

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

https://www.playuntrusted.com
Untrusted Untrusted – web of cybercrime – the social deduction hacking game – multiplayer online, Untrusted About the game Untrusted is an online multiplayer (10 to 16 players) hacking/social deduction game, inspired by the Werewolf/Mafia genre and similar games...
  • 👍 2
  • 🔥 2
Post #174 2.97K
Project Valhalla: эпичный квест Java за перфомансом

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

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

https://habr.com/ru/articles/787166/
Хабр Project Valhalla: эпичный квест Java за перфомансом Project Valhalla , по моему скромному мнению, это самое важное и в то же время самое сложное нововведение в JVM, улучшающее производительность. Бэкграунд: как модель памяти Java влияет на перфоманс...
  • ❤ 2
  • 👍 2
  • 🔥 1
Post #173 2.43K
MyBatis «на минималках»

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

https://habr.com/ru/companies/cdek_blog/articles/771714/
Хабр MyBatis «на минималках» Привет, Хабр! Меня зовут Пётр Гусаров, я Java‑программист в CDEK. В этой статье расскажу про не очень распространённый фреймворк MyBatis. Почему MyBatis? Потому что мы...
  • 👍 2
  • 🤣 1
Post #172 2.17K
Maven плагин для проверки семантической схемы версионирования Java-библиотек.

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

https://foojay.io/today/semantic-versioning-your-java-libraries/
foojay (Semantic) Versioning your Java libraries Refine Java library versions seamlessly with Semantic Versioning, ensuring compatibility and efficient upgrades. Learn More!
  • 👍 2
  • 🔥 2
  • 🤷‍♀ 1
Post #171 2.71K
Как подружить нейросети и разработку: программируем с ChatGPT

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

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

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

https://habr.com/ru/companies/ibs/articles/792032/
  • 🔥 2
Post #170 2.55K
Как мы начали использовать виртуальные потоки Java 21 и на раз-два получили дедлок в TPC-C для PostgreSQL

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

https://habr.com/ru/companies/ydb/articles/786550/
Хабр Как мы начали использовать виртуальные потоки Java 21 и на раз-два получили дедлок в TPC-C для PostgreSQL Привет, хабр! Меня зовут Евгений Иванов, я разработчик YDB . Но сегодня я бы хотел представить Вашему вниманию пост не о YDB, а о виртуальных потоках Java 21 на примере TPC-C для PostgreSQL. Дедлок у...
  • 👍 3
  • 🔥 1
  • 😁 1
Post #169 2.54K
Разбираемся с «MavenGate», новой атакой на цепочку поставок для Java и Android-приложений

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

https://habr.com/ru/companies/swordfish_security/articles/790544/
  • 🔥 2
  • 👍 1
Post #168 2.24K
Машинное обучение для 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
InfoWorld Machine learning for Java developers: Machine learning data pipelines Learn how to build and deploy a machine-learning data model in a Java-based production environment using Weka, Docker, and REST.
  • 🔥 4
Post #167 2.28K
Туториал по нотификациям через RSocket: от концепции до запуска в продакшн

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

https://habr.com/ru/companies/alfa/articles/788398/
  • 🔥 2
Post #166 2.2K
Как сократить потребление памяти в интеграционных тестах с Kafka с помощью GraalVM

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

https://habr.com/ru/articles/788812/
Хабр Как сократить потребление памяти в интеграционных тестах с Kafka с помощью GraalVM В данной статье я хочу поделиться своим опытом создания нативного образа для EmbeddedKafka с использованием GraalVM. Использование такого образа в интеграционных тестах позволяет увеличить скорость...
  • 👍 2
  • 🔥 2
Post #164 1.97K
Планы Oracle по улучшению Java на 2024 год

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

https://inside.java/2024/01/18/newscast-61/
inside.java Java's Plans for 2024 - Inside Java Newscast #61 In 2024, Java keeps evolving. Let's see what the OpenJDK projects Amber, Babylon, Leyden, Lilliput, Loom, Panama, and Valhalla plan for this year and how that will push Java forward. Whether pattern matching or other language improvements, interacti…
  • 👍 3
  • 🔥 2
  • 🤔 1
Post #161 1.88K
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
InfoWorld 11 reasons the new Java is not like the old Java Java is not the language it used to be, and that is mostly a good thing. Here are eleven ways Java is evolving to meet the challenges of the future.
  • 👍 3
  • 🔥 3
Post #160 2.13K
Project Loom. Не только виртуальные потоки

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

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


https://habr.com/ru/articles/785334/
Хабр Project Loom. Не только виртуальные потоки Начиная с Java 19 нам доступны виртуальные потоки , которые отличаются от обычных, тем что умеют освобождать поток операционной системы во время блокирующих I/O операций. Для этого на уровне JVM был...
  • 👍 2
  • 🥰 1
Post #159 1.75K
Virtual Threads for Lightweight Concurrency and Other JVM Enhancements

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

https://www.infoq.com/presentations/virtual-threads-lightweight-concurrency/
InfoQ Virtual Threads for Lightweight Concurrency and Other JVM Enhancements Ron Pressler presents how and why Java abstracted its existing thread construct to provide an alternative user-mode implementation of threads as opposed to offering a new concurrency construct. Ron also briefly mentions other transformative features recently…
  • 🔥 5
Post #158 1.56K
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/
The JetBrains Blog String Templates in Java - why should you care? - The JetBrains Blog TLDR; The existing String concatenation options are difficult to work with and could be error prone. String Templates (a preview feature introduced in Java 21) greatly improves how we create strings i
  • 🔥 4
Post #157 1.57K
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/
CDS with Spring Framework 6.1 Level up your Java code and explore what Spring can do for you.
  • 🔥 2
  • 😱 1
Post #156 1.38K
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
Stefan Johansson’s Blog JDK 21: The GCs keep getting better A couple of years ago I wrote a post about the GC progress between JDK 8 and JDK 17 for our three main GCs. With the JDK 21 release this fall, we now have a new LTS release to benchmark and generate some GC performance charts for. JDK 21 and the other releases…
  • 👍 5
Post #155 1.95K
Создание и использование BOM в Gradle

Бывает так, что две библиотеки, например X и Y, требуют разные версии одной и той же транзитивной зависимости Z (snakeyaml, Google Guava, Apache Commons и т.п.). Такая ситуация называется конфликтом (или jar hell, когда это происходит в большом количестве).

В Maven разрешение конфликтов происходит не так как в Gradle. В нем по дефолту выбирается самая «свежая» версия из конфликтующих зависимостей.

Для быстрой проверки там есть удобная команда

./gradlew dependencyInsight --dependency org.yaml:snakeyaml

https://habr.com/ru/articles/784784/
Хабр Создание и использование BOM в Gradle Привет Хабр! В каждой компании (а если она крупная, то, скорее всего, в каждом подразделении) должна быть выстроена культура использования BOM ( bill of materials ) для управления версиями...
  • 👍 2
  • 🔥 2
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →