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/
Шаблоны строк это 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 IntelliJ IDEA 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
Virtual Threads for Lightweight Concurrency and Other JVM Enhancements
Статья Рона Пресслера, который является архитектором в Oracle Java Platform Group, а также тех лидом проекта Loom в Oracle. По ссылке есть видео выступления, а ниже транскрипт для тех кто любит читать. Очень интересное выступление. Рекомендую посмотреть.
https://www.infoq.com/presentations/virtual-threads-lightweight-concurrency/
Статья Рона Пресслера, который является архитектором в 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…
Project Loom. Не только виртуальные потоки
В статье мало «технического мяса», но она больше интересна комментариями под ней. Там идет дискуссия в которой сравнивают корутины Java и Kotlin.
В самой статье по факту рекламируется инструмент автора построенный вокруг непубличного API из JDK
В статье мало «технического мяса», но она больше интересна комментариями под ней. Там идет дискуссия в которой сравнивают корутины Java и Kotlin.
В самой статье по факту рекламируется инструмент автора построенный вокруг непубличного API из JDK
jdk.internal.vm.Continuation
https://habr.com/ru/articles/785334/
Хабр
Project Loom. Не только виртуальные потоки
Начиная с Java 19 нам доступны виртуальные потоки , которые отличаются от обычных, тем что умеют освобождать поток операционной системы во время блокирующих I/O операций. Для этого на уровне JVM был...
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
Хорошее овервью ключевых новых технологий без глубокого погружения в каждую.
Рассмотрены:
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.
Планы Oracle по улучшению Java на 2024 год
Рассказано о том какие улучшения запланированы в таких проектах OpenJDK как Amber, Babylon, Leyden, Lilliput, Loom, Panama, Valhalla и на сколько жизнь разработчика станет прекрасна.
https://inside.java/2024/01/18/newscast-61/
Рассказано о том какие улучшения запланированы в таких проектах 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…
Oh My Git — интерактивная игра для изучения Git.
Она визуализирует внутреннюю структуру Git-репозиториев в режиме реального времени. Получается очень наглядно.
https://ohmygit.org
Она визуализирует внутреннюю структуру Git-репозиториев в режиме реального времени. Получается очень наглядно.
https://ohmygit.org
ohmygit.org
Oh My Git!
An open source game about learning Git
Как сократить потребление памяти в интеграционных тестах с Kafka с помощью GraalVM
Довольно интересный опыт описан в статье по созданию нативного образа для EmbeddedKafka с использованием GraalVM. В теории можно поэкспериментировать подобным образом и с другими продуктами.
https://habr.com/ru/articles/788812/
Довольно интересный опыт описан в статье по созданию нативного образа для EmbeddedKafka с использованием GraalVM. В теории можно поэкспериментировать подобным образом и с другими продуктами.
https://habr.com/ru/articles/788812/
Хабр
Как сократить потребление памяти в интеграционных тестах с Kafka с помощью GraalVM
В данной статье я хочу поделиться своим опытом создания нативного образа для EmbeddedKafka с использованием GraalVM. Использование такого образа в интеграционных тестах позволяет увеличить скорость...
Туториал по нотификациям через RSocket: от концепции до запуска в продакшн
Статья про разработку системы нотификаций для Альфа-Онлайн — мобильного банка в вебе. В решении использовались WebSocket в связке с RSocket.
https://habr.com/ru/companies/alfa/articles/788398/
Статья про разработку системы нотификаций для Альфа-Онлайн — мобильного банка в вебе. В решении использовались WebSocket в связке с RSocket.
https://habr.com/ru/companies/alfa/articles/788398/
Хабр
Туториал по нотификациям через RSocket: от концепции до запуска в продакшн
Однажды мы решали задачу разработки системы нотификаций для Альфа-Онлайн — мобильного банка в вебе. Нам было необходимо разработать инструмент по отправке сообщений (нотификаций) со стороны сервера в...
Машинное обучение для 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
В статье описано как создать и развернуть модель данных машинного обучения в ПРОМ среде на базе 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.
Разбираемся с «MavenGate», новой атакой на цепочку поставок для Java и Android-приложений
Ей подверженны более 18% всех Java-библиотек. Суть ее основана на логике работы сборщиков Java/Android-проектов и разрозненности репозиториев, которые хранят эти библиотеки.
https://habr.com/ru/companies/swordfish_security/articles/790544/
Ей подверженны более 18% всех Java-библиотек. Суть ее основана на логике работы сборщиков Java/Android-проектов и разрозненности репозиториев, которые хранят эти библиотеки.
https://habr.com/ru/companies/swordfish_security/articles/790544/
Хабр
Разбираемся с MavenGate, новой атакой на цепочку поставок для Java и Android-приложений
Всем привет! Сегодня с вами Юрий Шабалин, генеральный директор «Стингрей Технолоджиз», и я хотел бы разобрать в этой статье новый тип атаки на цепочку поставок под названием «MavenGate». А что в ней,...
Как мы начали использовать виртуальные потоки Java 21 и на раз-два получили дедлок в TPC-C для PostgreSQL
В этом посте рассказано о примере дедлока в TPC-C для PostgreSQL, причиной которого является исключительно переход на виртуальные потоки - и никаких проблем обедающих философов ))
https://habr.com/ru/companies/ydb/articles/786550/
В этом посте рассказано о примере дедлока в TPC-C для PostgreSQL, причиной которого является исключительно переход на виртуальные потоки - и никаких проблем обедающих философов ))
https://habr.com/ru/companies/ydb/articles/786550/
Хабр
Как мы начали использовать виртуальные потоки Java 21 и на раз-два получили дедлок в TPC-C для PostgreSQL
Привет, хабр! Меня зовут Евгений Иванов, я разработчик YDB . Но сегодня я бы хотел представить Вашему вниманию пост не о YDB, а о виртуальных потоках Java 21 на примере TPC-C для PostgreSQL. Дедлок у...
Как подружить нейросети и разработку: программируем с ChatGPT
Задача: создать простой REST-сервис на Java (с использованием Spring Boot и JPA) без написания кода.
Технологии: ChatGPT 3.5 + JAIG.
Итог: если бы автор статьи самостоятельно, вручную писал код, то по его оценке уложился примерно в один рабочий день. На работу с ChatGPT и JAIG у него ушло в общей сложности 10 дней 🤡
https://habr.com/ru/companies/ibs/articles/792032/
Задача: создать простой REST-сервис на Java (с использованием Spring Boot и JPA) без написания кода.
Технологии: ChatGPT 3.5 + JAIG.
Итог: если бы автор статьи самостоятельно, вручную писал код, то по его оценке уложился примерно в один рабочий день. На работу с ChatGPT и JAIG у него ушло в общей сложности 10 дней 🤡
https://habr.com/ru/companies/ibs/articles/792032/
Хабр
Как подружить нейросети и разработку: программируем с ChatGPT
Большинство людей используют ChatGPT и подобные ему технологии как альтернативу Google. Но насколько нейросеть пригодна для написания рабочего программного кода? Помогает ли она упростить этот...
Maven плагин для проверки семантической схемы версионирования Java-библиотек.
Возможно вы тоже сталкивались с тем, что патч-версия якобы содержит обратно несовместимые изменения. Автор написал maven-плагин, который автоматически проверяет внесенные изменения и предлагает, какую часть номера версии нужно изменить.
https://foojay.io/today/semantic-versioning-your-java-libraries/
Возможно вы тоже сталкивались с тем, что патч-версия якобы содержит обратно несовместимые изменения. Автор написал 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!
MyBatis «на минималках»
Я не фанат этого фреймворка, но для кругозора посмотреть можно. Исходя из статьи в CDEK он используется в большинстве проектов. Лично я давно не слышал о его использовании в ПРОМе.
https://habr.com/ru/companies/cdek_blog/articles/771714/
Я не фанат этого фреймворка, но для кругозора посмотреть можно. Исходя из статьи в CDEK он используется в большинстве проектов. Лично я давно не слышал о его использовании в ПРОМе.
https://habr.com/ru/companies/cdek_blog/articles/771714/
Хабр
MyBatis «на минималках»
Привет, Хабр! Меня зовут Пётр Гусаров, я Java‑программист в CDEK. В этой статье расскажу про не очень распространённый фреймворк MyBatis. Почему MyBatis? Потому что мы...
Project Valhalla: эпичный квест Java за перфомансом
Project Valhalla, задуманный еще в 2014, призван дать возможность создавать кастомные примитивные или "value" объекты. Эти объекты должны представлять собой плоскую структуру, подобно рассмотренному выше массиву
В статье приводится довольно интересное сравнение.
https://habr.com/ru/articles/787166/
Project Valhalla, задуманный еще в 2014, призван дать возможность создавать кастомные примитивные или "value" объекты. Эти объекты должны представлять собой плоскую структуру, подобно рассмотренному выше массиву
int[]
, а не дерево "указателей".В статье приводится довольно интересное сравнение.
https://habr.com/ru/articles/787166/
Хабр
Project Valhalla: эпичный квест Java за перфомансом
Project Valhalla , по моему скромному мнению, это самое важное и в то же время самое сложное нововведение в JVM, улучшающее производительность. Бэкграунд: как модель памяти Java влияет на перфоманс...
Игра Untrusted
Untrusted — это необычная образовательная игра. В данной игре игрокам предстоит управлять персонажем и разгадывать головоломки, применяя программирование и логическое мышление для прохождения уровней.
Почему я решил запостить здесь?!?!? Потому что по слухам там есть задачки на Java ))
Сам я пока эту игру не играл. В детстве помню подобную консольную играл. Прям ностальгия ))
https://www.playuntrusted.com
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...
Java ScopedValue: Ускоренный ThreadLocal
В инкубаторе JEP-429 появилась новая альтернатива ThreadLocal под названием ScopedValue. Она предназначена для того, чтобы предоставить более легкую альтернативу ThreadLocal. ScopedValue сейчас в стадии превью в Java 20+ (включая последний релиз Java 21).
https://habr.com/ru/companies/otus/articles/787978/
В инкубаторе JEP-429 появилась новая альтернатива ThreadLocal под названием ScopedValue. Она предназначена для того, чтобы предоставить более легкую альтернативу ThreadLocal. ScopedValue сейчас в стадии превью в Java 20+ (включая последний релиз Java 21).
https://habr.com/ru/companies/otus/articles/787978/
Хабр
Java ScopedValue: Ускоренный ThreadLocal
В инкубаторе JEP-429 появилась новая альтернатива ThreadLocal под названием ScopedValue (в значительной степени как поддержка и развитие Virtual Threads ). ScopedValue предназначен для того, чтобы...
Java Flight Recorder ожидает улучшения
В рамках проекта Skogsluft будут представлены продвинутые возможности профилирования Java приложений.
https://www.infoworld.com/article/3712811/java-flight-recorder-eyed-for-improvement.html#tk.rss_java
В рамках проекта Skogsluft будут представлены продвинутые возможности профилирования Java приложений.
https://www.infoworld.com/article/3712811/java-flight-recorder-eyed-for-improvement.html#tk.rss_java
InfoWorld
Advanced profiling proposed for Java Flight Recorder
Skogsluft project would introduce profiling features that span Java and native code execution and provide more precise and flexible profiling options.
Применение ООП на практике
Чаще всего задачу можно решить интуитивно понятным процедурным способом. Однако самый простой вариант не всегда самый лучший. Предлагаю посмотреть на примере реальной задачи, как можно сделать решение объектно-ориентированным, и какую пользу это может принести.
https://habr.com/ru/companies/pvs-studio/articles/793900/
Чаще всего задачу можно решить интуитивно понятным процедурным способом. Однако самый простой вариант не всегда самый лучший. Предлагаю посмотреть на примере реальной задачи, как можно сделать решение объектно-ориентированным, и какую пользу это может принести.
https://habr.com/ru/companies/pvs-studio/articles/793900/
Хабр
Применение ООП на практике
Чаще всего задачу можно решить интуитивно понятным процедурным способом. Однако самый простой вариант не всегда самый лучший. Предлагаю посмотреть на примере реальной задачи, как можно сделать решение...
Spring Boot. Реактивный асинхронный неблокирующий REST vs традиционный синхронный блокирующий
Статья конечно «однобокая», но новичкам для иллюстрации разницы синхронных и асинхронных запросов подойдет.
https://habr.com/ru/articles/793494/
Статья конечно «однобокая», но новичкам для иллюстрации разницы синхронных и асинхронных запросов подойдет.
https://habr.com/ru/articles/793494/
Хабр
Spring Boot. Реактивный асинхронный неблокирующий REST vs традиционный синхронный блокирующий
Введение В этой статье я хочу простым языком рассказать о некоторых особенностях работы реактивного веб-сервиса в сравнении с традиционным REST. На данном этапе не буду углубляться в спецификацию....