bookjava | Unsorted

Telegram-канал bookjava - Библиотека Java разработчика

10986

📚 Лайфхаки, приёмы и лучшие практики для Java-разработчиков. Всё, что ускорит код и прокачает навыки. Java, Spring, Maven, Hibernate. По всем вопросам @evgenycarter РКН clck.ru/3KoGeP

Subscribe to a channel

Библиотека Java разработчика

🏗 Курс “Software Architect” от OTUS — набор заканчивается. Успейте пройти вступительный тест и занять место в группе!

Почему стоит присоединиться прямо сейчас:

• 100% практики на реальных проектах
• Проектирование гибких архитектур
• Микросервисы, интеграции, Big Data
• Современные паттерны: CQRS, Event Sourcing и др.

💡 Кому подойдёт:
• Разработчикам, готовым выйти на новый уровень
• Архитекторам, углубляющим экспертизу
• Тимлидам и менеджерам

✅ После курса вы сможете:

• Проектировать масштабируемые архитектуры
• Оптимизировать взаимодействие сервисов
• Повышать качество и устойчивость систем

Места в группе ограничены — пройдите вступительное тестирование сегодня, чтобы успеть!

https://vk.cc/cPBg9X


Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Библиотека Java разработчика

Диски в облаке — это базовая функциональность.
Для пользователя всё просто: приаттачил к ВМ и всё заработало.


Но как это устроена работа с i/o на стороне провайдера?

Инженеры MWS Cloud Platform ⬜️ делятся своим опытом работы с фреймворком SPDK:
⏺️чем он лучше работы через QEMU или ядро Linux;
⏺️какие фичи пришлось дописывать самим;
⏺️как довели фреймворк до продакшена и даже отдали часть изменений в апстрим.

⏩️Загляните внутрь дисковой подсистемы облачного провайдера — читайте статью.

Читать полностью…

Библиотека Java разработчика

🔥Oracle Releases Java 25

Основные фичи:
JEP 520: Метод-трейсинг и тайминг в JFR — замер времени конкретных методов без кода и агентов
В Java 25 JFR (Java Flight Recorder) позволяет точно отслеживать выполнение конкретных методов — без изменения исходников, без логирования и без сторонних Java-агентов.

Зачем это нужно?
Допустим, приложение долго стартует или внезапно теряет соединения с БД. Раньше приходилось:

🔹Логировать вручную

🔹Добавлять JFR-события в код

🔹Подключать агент через -javaagent

🔹Пытаться что-то угадывать с sampling-профайлером

🔹Использовать Spring AOP и @Around-аспекты

https://www.oracle.com/news/announcement/oracle-releases-java-25-2025-09-16/

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Thread.sleep(0) is not for free.

Небольшая заметка о том, что Thread.sleep(0) не бесплатный. Связано это с тем, что при таком вызове все еще вызывается нативный метод Thread.sleepNanos(0). А за этим методом идет выполнение метода операционной системы, и, хоть он и проводит для такого случая быстрые проверки, они замедляют систему. Поэтому стоит избегать кода:


int delay = allGood ? 0 : waitShorty;

Thread.sleep(delay);


https://mlangc.github.io/java/performance/2025/08/14/thread-sleep0-is-not-for-free.html

👉@BookJava

Читать полностью…

Библиотека Java разработчика

⚡️ Отказоустойчивость и масштабируемость микросервисов
📅 17 сентября | 20:00 мск | бесплатно

Хотите, чтобы ваши микросервисы работали стабильно под нагрузкой? На вебинаре разберём:
• Паттерны отказоустойчивости: Circuit Breaker, Bulkhead, Timeouts
• Паттерны масштабируемости: Auto-scaling, Load Balancing
• Как защитить сервисы от перегрузок и сбоев

💡 Полезно для:
• Разработчиков и архитекторов микросервисов
• DevOps-инженеров
• Руководителей проектов

✅ После вебинара вы сможете:
• Проектировать отказоустойчивую архитектуру
• Настраивать автоскейлинг и балансировку
• Повышать стабильность и производительность сервисов

👉 Регистрируйтесь:

https://vk.cc/cPwgKT

Занятие приурочено к старту курса "Software Architect", обучение на котором позволит освоить компетенции архитектора по моделированию и построению отказоустойчивых, масштабируемых информационных систем.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Библиотека Java разработчика

GC-Agnostic Load Barriers for Ahead-of-Time Compilation

Автор делится результатами своей магистерской работы, выполненной совместно с командой HotSpot GC и с помощью компилятора Oracle, где исследуется идея GC-агностичных барьеров загрузки.

Он показывает, как Project Leyden может сократить время прогрева приложений с помощью AOT-компиляции, какие проблемы создают GC-барьеры и как их можно унифицировать через патчинг инструкций на уровне Assembly. Материал будет интересен тем, кто хочет глубже изучить внутреннее устройство JVM, работу сборщиков мусора и компромиссы между производительностью и гибкостью рантайма.

https://inside.java/2025/08/27/thesis-gc-agnostic-load-barriers/

👉@BookJava

Читать полностью…

Библиотека Java разработчика

⁉️ Spark-запросы тормозят? Пора разобраться, как сделать их в разы быстрее

На открытом вебинаре мы разберём проверенные техники оптимизации, которые используют ведущие дата-инженеры. Покажем, как находить узкие места, ускорять join-операции и выжимать максимум из ресурсов кластера.

Вы получите конкретные приёмы — от оптимального партиционирования данных и управления кэшированием до выбора лучших форматов хранения. Всё на реальных примерах.

➡️ Присоединяйтесь 17 сентября в 20:00 МСК. Урок проходит в преддверии старта курса «Spark Developer», все участники получат скидку на обучение. Регистрация открыта: https://vk.cc/cPreGV

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Библиотека Java разработчика

Stream Gathering with a Different Distinct Function

Статья обсуждает использование Gatherers в Java для определения собственной функции distinct. Автор предлагает альтернативный подход к стандартному методу distinct(), который позволяет более гибко определять уникальность элементов в потоке, что иногда может быть очень полезно.


import java.util.*;
import java.util.function.*;
import java.util.stream.*;

public class DistinctifyGatherer {
public static <T> Gatherer<T, ?, T> of(
ToIntFunction<T> hashCode,
BiPredicate<T, T> equals,
BinaryOperator<T> merger) {
class Key {
private final T t;
public Key(T t) {this.t = t;}
public int hashCode() {
return hashCode.applyAsInt(t);
}
public boolean equals(Object obj) {
return obj instanceof Key that
&& equals.test(this.t, that.t);
}
}
return Gatherer.<T, Map<Key, Key>, T>ofSequential(
LinkedHashMap::new,
(state, element, _) -> {
var key = new Key(element);
var existing = state.get(key);
if (existing != null) {
key = new Key(merger.apply(
existing.t, key.t));
}
state.put(key, key);
return true;
},
(keys, downstream) -> keys.values().stream()
.takeWhile(_ -> !downstream.isRejecting())
.map(key -> key.t)
.forEach(downstream::push)
);
}
}



https://www.javaspecialists.eu/archive/Issue326-Stream-Gathering-with-a-Different-Distinct-Function.html

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Советы по Spring 💡

Чтобы выполнять действия в транзакции базы данных, вы можете использовать шаблон Spring TransactionTemplate вместо @Transactional

👉@BookJava

Читать полностью…

Библиотека Java разработчика

How to Upgrade to Java 25

В видео подробно разбираются проблемы и подводные камни при переходе на JDK 25 — от изменений в аннотациях, безопасности и работе с рефлексией до удаления старых API и модулей. Будет полезно разработчикам и командам, которые готовятся к миграции, поскольку в видео показывают, какие ошибки можно встретить и как правильно адаптировать код и окружение под новые требования платформы.

0:00 Intro
0:55 Default Annotation Processing
2:58 Final Record Pattern Variables
4:15 Security Property "include"
4:55 Null Checks in Inner Class Constructors
6:40 Unsafe Memory Access
8:52 Native Access
10:53 Security Manager
11:57 File System Operations on Windows
13:04 Unicode Updates and COMPAT Removal
14:41 Intermission
15:26 Removals
18:24 Deprecations for Removal
19:12 Separate Metaspace and GC Printing
20:41 Remote Debugging with jstat and jhsdb
21:53 Outro

источник

👉@BookJava

Читать полностью…

Библиотека Java разработчика

👩‍💻 Открытый урок «Система сбора информации о деятельности эмитентов облигаций».

🗓 17 сентября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java Developer. Professional».

🎯 О чём поговорим:

✔️ Рассмотрим реальное приложение для сбора данных об эмитентах облигаций, а не просто демонстрационный пример.
✔️ Разберемся в архитектуре Java-приложений для финансовых данных.
✔️ Узнаем, как интегрировать данные о рынке в эффективные приложения.

👥 Кому будет интересно:
Это мероприятие будет полезно Java-разработчикам, архитекторам и IT-специалистам финансовых организаций. Вы получите ценные знания, которые сможете применить на практике.

🎁 Дарим промокод, который дает скидку на обучение - JAVA_09

🔗 Ссылка на регистрацию: https://vk.cc/cPlYHL

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Библиотека Java разработчика

ClassLoader Hell в Java: скрытый убийца продакшена

Когда в энтерпрайз-приложении внезапно летят ClassNotFoundException, NoSuchMethodError, LinkageError или растёт Metaspace — почти наверняка это ClassLoader Hell: побочный эффект того, как JVM грузит классы.

Откуда берётся

1. Конфликт версий: в classpath оказываются разные версии одной библиотеки (например, log4j 1.x и 2.x). Разные ClassLoader’ы подтягивают разные классы → IncompatibleClassChangeError, падения на старте.
2. Утечки ClassLoader’ов: после undeploy web-приложения его ClassLoader не собирается GC (висят ссылки/потоки) → дубли классов, рост памяти, OutOfMemoryError.

Симптомы

- ClassNotFoundException / NoClassDefFoundError
- LinkageError-ы (IllegalAccess, IncompatibleClassChange, NoSuchMethod)
- Нестабильный старт сервера, случайные ошибки, постепенный memory bloat

Как выбраться

- Держи зависимости под контролем: Maven/Gradle, mvn dependency:tree / gradle dependencies, исключай конфликтующие транзитивные, добивайся convergence версий.
- Понимай иерархию серверных загрузчиков (Tomcat/JBoss/WebLogic): изоляция по веб-приложениям; по умолчанию пакуй либы внутрь WAR/EAR, не клади «общие» JAR’ы в shared/lib без крайней нужды.
- Shading/relocation: Maven Shade Plugin → fat JAR + переименование пакетов конфликтующих зависимостей.
- JPMS (Java 9+): явные requires / exports, сильная инкапсуляция, надёжная конфигурация на старте.
- Диагностика: запускай с -XX:+TraceClassLoading, смотри JVisualVM/JConsole на живых ClassLoader’ах и metaspace.
- KISS: меньше зависимостей, регулярные апдейты ключевых библиотек.

Чек-лист на 30 секунд

- Прогоняю дерево зависимостей и фиксирую версии.
- Убираю дубли и «скрытые» транзитивные.
- Проверяю, откуда грузится проблемный класс (трассировка/инструменты).
- Решаю: изоляция на уровне сервера, shading или миграция на JPMS.

Полный разбор с примерами тут

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Как мы в Java-проекте UDT для PostgreSQL поддерживали

PostgreSQL позволяет создавать хранимые функции и процедуры. И если при их вызове с простыми данными проблем не возникает, то сложные иерархические структуры могут вызвать трудности.

В статье мы разберёмся, как передавать и получать вложенные объекты в процедурах и функциях PostgreSQL с помощью JDBC.

https://habr.com/ru/companies/bercut/articles/940614/

👉@BookJava

Читать полностью…

Библиотека Java разработчика

👩‍💻 Открытый урок «Создание потоковых приложений с использованием Kafka Streams».

На вебинаре разберем как с помощью Kafka Streams создавать потоковые приложения, что важно для работы с большими данными и потоками в реальном времени.

🗓 10 сентября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java Developer. Professional».

🎯 О чём поговорим:

✔️ Обсудим, что такое потоковые приложения и как их можно интегрировать с Kafka.
✔️ Изучим работу с библиотекой Kafka Streams и освоим основы DSL.
✔️ Разберемся в работе с состоянием потоков и его применении на практике.

👥 Кому будет интересно:
Этот вебинар будет полезен Java-разработчикам и архитекторам, которые хотят внедрять потоковые вычисления и анализ в свои приложения. Вы получите все необходимые знания, чтобы начать использовать Kafka Streams для создания высокоэффективных потоковых решений.

🎁 Дарим промокод, который дает скидку на обучение - JAVA_09

🔗 Ссылка на регистрацию: https://vk.cc/cPbeDj

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Библиотека Java разработчика

Шпаргалка по Java Streams API

👉@BookJava

Читать полностью…

Библиотека Java разработчика

С выходом @springboot 4 в GA, @intellijidea добавляет полноценную поддержку версионирования API в Spring MVC.

Теперь можно видеть версии эндпоинтов прямо в Structure и получать подсказки, если версионирование не настроено.

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Java varargs

Java varargs (variable arguments) — это механизм, предоставляемый Java, который позволяет методу принимать переменное количество аргументов одного типа. Он позволяет передавать любое количество аргументов заданного типа в метод, без явного указания массива аргументов.

Для объявления переменного количества аргументов в Java используется троеточие (...) после типа данных аргумента в определении метода.

👉@BookJava

Читать полностью…

Библиотека Java разработчика

📕 Архитектура и написание backend тестов для разработчиков Java, QA инженеров, автоматизаторов, QA Lead и DevOps-специалистов

На открытом уроке 17 сентября в 20:00 мск мы погрузимся в тонкости построения архитектуры надежных и понятных backend-тестов:

📗 На вебинаре разберём:
1. Использование Java и RestAssured для API-тестирования, приёмы структурирования и переиспользования кода.
2. Архитектурные принципы построения надёжных тестов.

📘 В результате на практике освоите построение надежных backend-тестов, научитесь писать чистый, гибкий и поддерживаемый код на Java с RestAssured и получите архитектурные шаблоны и рабочие примеры для своих проектов.

👉 Регистрация и подробности о курсе Java QA Engineer. Professional: https://vk.cc/cPz9xM

Все участники открытого урока получат скидку на курс "Java QA Engineer. Professional"

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Библиотека Java разработчика

Debugging Transactions? Let Spring Debugger Do the Heavy Lifting

Обзор нововведений плагина Spring Debugger: теперь при дебаге приложений можно увидеть, контекст какой транзакции сейчас используется. Помимо этого, для JPA-сущностей в дебаггере можно будет увидеть текущее состояние.

https://blog.jetbrains.com/idea/2025/08/debugging-transactions-let-spring-debugger-do-the-heavy-lifting/

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Taking Java Arrays to Another Dimension

Статья рассматривает подходы к хранению массивов в памяти в Java, акцентируя внимание на их внутреннем устройстве и оптимизации. Автор рассказывает о том, как массивы организуются в памяти, их ограничениях, а также предлагает альтернативные подходы для повышения производительности и гибкости работы с многомерными структурами данных.

https://foojay.io/today/taking-java-arrays-to-another-dimension/

👉@BookJava

Читать полностью…

Библиотека Java разработчика

🚀 Подборка Telegram каналов для программистов

Системное администрирование, DevOps 📌

/channel/bash_srv Bash Советы
/channel/win_sysadmin Системный Администратор Windows
/channel/sysadmin_girl Девочка Сисадмин
/channel/srv_admin_linux Админские угодья
/channel/linux_srv Типичный Сисадмин
/channel/devopslib Библиотека девопса | DevOps, SRE, Sysadmin
/channel/linux_odmin Linux: Системный администратор
/channel/devops_star DevOps Star (Звезда Девопса)
/channel/i_linux Системный администратор
/channel/linuxchmod Linux
/channel/sys_adminos Системный Администратор
/channel/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
/channel/sysadminof Книги для админов, полезные материалы
/channel/i_odmin Все для системного администратора
/channel/i_odmin_book Библиотека Системного Администратора
/channel/i_odmin_chat Чат системных администраторов
/channel/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
/channel/sysadminoff Новости Линукс Linux

1C разработка 📌
/channel/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
/channel/DevLab1C 1С:Предприятие 8
/channel/razrab_1C 1C Разработчик
/channel/buh1C_prog 1C Программист | Бухгалтерия и Учёт
/channel/rabota1C_rus Вакансии для программистов 1С

Программирование C++📌
/channel/cpp_lib Библиотека C/C++ разработчика
/channel/cpp_knigi Книги для программистов C/C++
/channel/cpp_geek Учим C/C++ на примерах

Программирование Python 📌
/channel/pythonofff Python академия.
/channel/BookPython Библиотека Python разработчика
/channel/python_real Python подборки на русском и английском
/channel/python_360 Книги по Python

Java разработка 📌
/channel/BookJava Библиотека Java разработчика
/channel/java_360 Книги по Java Rus
/channel/java_geek Учим Java на примерах

GitHub Сообщество 📌
/channel/Githublib Интересное из GitHub

Базы данных (Data Base) 📌
/channel/database_info Все про базы данных

Мобильная разработка: iOS, Android 📌
/channel/developer_mobila Мобильная разработка
/channel/kotlin_lib Подборки полезного материала по Kotlin

Фронтенд разработка 📌
/channel/frontend_1 Подборки для frontend разработчиков
/channel/frontend_sovet Frontend советы, примеры и практика!
/channel/React_lib Подборки по React js и все что с ним связано

Разработка игр 📌
/channel/game_devv Все о разработке игр

Библиотеки 📌
/channel/book_for_dev Книги для программистов Rus
/channel/programmist_of Книги по программированию
/channel/proglb Библиотека программиста
/channel/bfbook Книги для программистов

БигДата, машинное обучение 📌
/channel/bigdata_1 Big Data, Machine Learning

Программирование 📌
/channel/bookflow Лекции, видеоуроки, доклады с IT конференций
/channel/rust_lib Полезный контент по программированию на Rust
/channel/golang_lib Библиотека Go (Golang) разработчика
/channel/itmozg Программисты, дизайнеры, новости из мира IT
/channel/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
/channel/nodejs_lib Подборки по Node js и все что с ним связано
/channel/ruby_lib Библиотека Ruby программиста
/channel/lifeproger Жизнь программиста. Авторский канал.

QA, тестирование 📌
/channel/testlab_qa Библиотека тестировщика

Шутки программистов 📌
/channel/itumor Шутки программистов

Защита, взлом, безопасность 📌
/channel/thehaking Канал о кибербезопасности
/channel/xakep_2 Хакер Free

Книги, статьи для дизайнеров 📌
/channel/ux_web Статьи, книги для дизайнеров

Математика 📌
/channel/Pomatematike Канал по математике
/channel/phis_mat Обучающие видео, книги по Физике и Математике
/channel/matgeoru Математика | Геометрия | Логика

Excel лайфхак📌
/channel/Excel_lifehack

/channel/mir_teh Мир технологий (Technology World)

Вакансии 📌
/channel/sysadmin_rabota Системный Администратор
/channel/progjob Вакансии в IT

Читать полностью…

Библиотека Java разработчика

All New Java Language Features Since Java 21

Обзорный рассказ обо всех новых фичах с Java 21 от развития pattern matching и работы с запечатанными типами до упрощения написания main-методов и поддержки Markdown в Javadoc. Будет интересно тем, кто хочет быть в курсе последних изменений в Java, понять, как они влияют на читаемость, производительность и организацию кода, и заранее подготовиться к переходу на новые версии.

источник

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Двухфакторная аутентификация (2FA) — стандарт безопасности, без которого нельзя представить современные приложения.

Как реализовать её на практике с помощью Spring Security? Какие есть подходы и сценарии использования? Это то, что нужно знать каждому начинающему backend-разработчику на Java.

На открытом уроке курса «Разработчик на Spring Framework» вы увидите, как работает 2FA в Spring Boot, и разберёте реальные примеры внедрения. Это не просто теория, а практические шаги, которые помогут вам прокачать скиллы и почувствовать уверенность в разработке безопасных сервисов.

Вебинар, который пройдёт 18 сентября в 20:00 МСК. Все участники получат скидку на обучение на курсе «Разработчик на Spring Framework». Регистрация открыта: https://vk.cc/cPpy1Z

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Библиотека Java разработчика

VK JT = Java + Go!

16 сентября VK приглашает Go‑ и Java‑разработчиков на VK JT Meetup в Санкт-Петербурге.

В программе:
— Максимально практические доклады от техлидов VK о трансформации ВКонтакте, переходе части сервисов на Go и об устройстве и развитии единой видеоплатформы VK
— Командные бэкенд-баттлы под менторством опытных разработчиков VK — кейсы, вдохновлённые реальной архитектурой VK
Задавайте вопросы экспертам, ищите лучшее командное решение кейса и оставайтесь на афтепати: нетворкинг, фуршет, свободное общение с коллегами.
Только офлайн, в офисе VK на Мойке.

🎟 Участие бесплатное, почитать подробнее и зарегистрироваться вы сможете на сайте

Читать полностью…

Библиотека Java разработчика

Статья про будущие нововведения Spring Framework 7 и Spring Boot 4. Оба обновления ожидаются уже в ноябре 2025 года.

Spring 7 принесет с собой список нововведений:

-Jakarta EE 11.
-Минимальная версия Java теперь 17.
-Обещают улучшенную поддержку Kotlin 2.x.
-spring-retry переходит в spring-core вместе с аннотациями @Retryable, @ConcurrencyLimit, @EnableResilientMethods.
-@RequestMapping будет поддерживать параметр version для указания версии API.
-RestClient и WebClient смогут работать с версиями API.
-JmsClient — как RestClient, но для JMS.
-Для null-safety будут использовать аннотации @Nullable и @NonNull от JSpecify.
-Распаковка Optional в SpEl.
-Обещают улучшения HttpHeaders API.
-Jackson версии 3 и выше.


Список обновлений Spring Boot 4:

-Стал более модульным, что должно уменьшить размеры и JAR файлов.
-Как и со Spring 7, минимальная версия — это Java 17.
-Больше индикаторов и проверок в Spring Boot Actuator.
-Образы, собранные с помощью AOT(Ahead-Of-Time)-компиляции и GraalVM, должны стать быстрее.
-Jackson 3.x по аналогии со Spring 7, Servlet 6.1, WebSocket 2.2 и Micrometer 2.0.

csmax/preparing-for-spring-boot-4-and-spring-framework-7-whats-new-263829429064" rel="nofollow">https://medium.com/@csmax/preparing-for-spring-boot-4-and-spring-framework-7-whats-new-263829429064

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Java for Small Coding Tasks

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

Вначале рассказывается, почему для скриптов используется Java, а не Python. Ответ банален: автор хорошо знаком с Java, она ему привычна. Но вот то, как и с помощью чего пишутся скрипты, совсем непривычно.

Например, удобная и знакомая всем Intellij IDEA не очень подойдет, потому что вам вряд ли понадобится серьезная структура пакетов и классов для небольшого скрипта. А один файл часто удобнее открыть в редакторах попроще, например nvim или VS Code.

С инструментами для сборки тоже интересно. Никто не захочет использовать Maven или Gradle, чтобы запустить небольшой однофайловый скрипт. Поэтому можно компилировать и запускать в оперативной памяти. Да, так придется компилировать на каждом запуске, зато не нужно беспокоиться об упаковке в Jar каждый раз, когда поправляешь скрипт.

Одна строка #!/usr/bin/env java --source 25 в начале файла позволит запускать скрипт в среде Linux, просто указав путь к файлу. А если все-таки нужна зависимость, можно использовать jpm, чтобы управлять Maven-зависимостями без больших инструментов для сборки.

источник

👉@BookJava

Читать полностью…

Библиотека Java разработчика

⁉️ Что нового в Spark 4.0?

Apache Spark продолжает развиваться и в версии 4.0 готовит для нас несколько важнейших обновлений. Хотите узнать, как эти изменения улучшат обработку данных и повлияют на вашу работу? Присоединяйтесь к открытом вебинару 9 сентября в 20:00!

— Обзор Spark 4.0: главные нововведения и улучшения.
— Производительность и оптимизации: что ускорилось и как этим пользоваться?
— Новые API и функции: возможности для разработчиков и аналитиков.
— Интеграция с Kubernetes, облачными платформами и Data Science инструментами.
— Практические кейсы: как применять нововведения в реальных задачах.

👨‍💻🛠👨🏻‍💻 Если вы дата-инженер, аналитик, разработчик или DevOps-специалист, этот вебинар точно для вас.

➡️Присоединяйтесь и получите скидку на курс «Spark Developer»: https://vk.cc/cPiGom

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Библиотека Java разработчика

Совет по Java Time

Обратите внимание на equals() и isEqual() в классах работы с датой и временем! ZonedDateTime, OffsetDateTime и OffsetTime ведут себя по-разному:

- equals(): Сравнивает все поля (включая зону/смещение)
- isEqual(): Сравнивает только момент времени (игнорируя зону/смещение)

Один и тот же момент времени может дать разные результаты.

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Java

Кеширование данных в Spring Boot
Полезные советы по работе с BigDecimal в Java
Алгоритмы: бинарный поиск на отсортированном массиве (реализация на Java)
Алгоритмы: поиск простых чисел с помощью "решета Эратосфена"
Алгоритмы: проверка слов и предложений на палиндром
Алгоритм определения анаграмм
Алгоритм инвертирования массива на Java
Разбор и вычисление арифметических выражений на Java

источник

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Совет по Spring Boot💡

Spring Boot Custom Bean Validations с Jakarta Constraint Validator, группировка ограничений проверки, последовательность групп и i18n

https://gist.github.com/aoudiamoncef/9eeece142d1ef0faa4d06216a41282a2

👉@BookJava

Читать полностью…
Subscribe to a channel