Java News – Telegram
Java News
4.3K subscribers
250 photos
5 videos
1 file
1.47K links
Все новости связанные с Java!

По всем вопросам: @NadikaKir

Мы на бирже: https://telega.in/c/java_newss
Download Telegram
Spring Data JPA: проекции в запросах

Вероятно, первое, что приходит вам на ум, когда вы реализуете запрос с помощью Spring Data JPA — это проекции. Это связано с тем фактом, что проекции определяют атрибуты сущности и столбцы базы данных, возвращаемые вашим запросом. А возможность выбирать нужные столбцы очень важна для вашей бизнес-логики. Также это имеет решающее значение для производительности вашего приложения и поддерживаемости вашего кода. Вы можете (и должны) выбрать такую проекцию, которая минимизирует накладные расходы и предоставляет данные в наиболее удобной для использования форме.

Читать статью
👍3
Полезные и неизвестные библиотеки Java

Из этой статьи вы узнаете о некоторых не очень известных, но полезных библиотеках Java.

Сегодня мы сосредоточимся на библиотеках Java. Обычно мы используем в своих проектах несколько внешних библиотек — даже если не включаем их напрямую. Например, Spring Boot поставляется с определенным набором зависимостей, включенным стартерами. Если мы включаем, например, spring-boot-starter-test, то одновременно мы включаем такие библиотеки, как mockito, junit-jupiter или hamcrest. Конечно, это известные библиотеки для сообщества.

Читать статью
👍3
Лучшие практики для Java-приложений в Kubernetes

В этой статье вы прочитаете о лучших практиках запуска Java-приложений в Kubernetes. Большинство из этих рекомендаций будут справедливы и для других языков.

Однако я рассматриваю все правила в рамках характеристик Java, а также показываю решения и инструменты, доступные для приложений на базе JVM.

Некоторые из этих рекомендаций по Kubernetes навязаны дизайном при использовании самых популярных Java-фреймворков, таких, как Spring Boot или Quarkus. Я покажу вам, как эффективно использовать их для упрощения жизни разработчиков.

Читать статью
👍2🔥1
JavaDoc: добро или необходимое зло?

Привет! Меня зовут Андрей Костров, я старший разработчик в X5 Tech.
При создании проекта А мы вложили много сил в JavaDoc. Многим казалось это излишним. Затем проект А заморозили и начали новый – проект Б. При этом переиспользовали много кода из проекта А, вместе с JavaDoc. Рассказ о том, принёс ли JavaDoc пользу (спойлер: да). А также немного слов о том, где усилия по JavaDoc всё-таки были избыточны.

Читать статью
1👍1
Как в IntelliJ IDEA написать и собрать в исполняемый .exe файл приложение на JavaFX

При кажущейся простоте создания приложения на JavaFX (особенно с помощью JavaFX Scene Builder 2.0 и бесплатных видео-уроков на различных ресурсах), написание функционала программы – это только половина пути. Программа должна работать, жить своей жизнью самостоятельно, без привязки к среде разработки. И, как показывает мой личный опыт, при сборке проекта и выпуске его в «большой мир» приходится преодолевать немало терний.

Надеюсь, что моя статья поможет кому-нибудь избежать ошибок, найти ответы на вопросы или просто сразу пойти правильным путем (например, создавать обычный maven-проект на Java-8, вручную прописывая в pom.xml зависимости и способ сборки, и всегда указывать на латинице имена учетных записей, директорий в своей операционной системе).

Читать статью
👍5
Различия между Spring Boot и Spring Cloud Framework

Spring Boot и Spring Cloud — две популярные платформы, используемые для создания масштабируемых и высокопроизводительных приложений. Цель этой статьи — помочь разработчикам понять различия между ними и принять обоснованное решение, какую платформу использовать для своего следующего проекта.

Читать статью
👍2
Поднимаем кластер PostgreSQL в Docker и Testcontainers

Ранее я рассказывал о том, как запустить PostgreSQL в Docker. Тогда речь шла об использовании «ванильных» образов Postgres и поднятии одного хоста. В большинстве случаев этого достаточно как для тестов, так и для экспериментов, но нужно понимать, что в промышленной эксплуатации чаще всего используются высокодоступные (отказоустойчивые, кластеризованные) конфигурации PostgreSQL.

Сегодня я покажу, как запустить уже целый кластер PostgreSQL в Docker, а также в тестах через Testcontainers, и как вручную инициировать смену мастер-хоста.

Читать статью
2👍1
Управление Arduino с помощью Java и Spring

Вы
когда-нибудь хотели управлять платой Arduino с помощью Raspberry Pi или компьютера, используя только язык Java, а не язык Arduino?

В этой статье я покажу, как я создал веб-приложение для управления Arduino с помощью Raspberry PI с использованием Spring.

Читать статью
🔥2
Memory Fences и volatile в Java: низкоуровневые гарантии порядка памяти

Сегодня рассмотрим интересную тему для тех, кто сталкивается с многопоточностью в Java – это управление порядком памяти. Базовых инструментов синхронизации, например как synchronized или блокировки, порой недостаточно. Именно здесь могут помочь низкоуровневые механизмы, такие как Memory Fences и ключевое слово volatile.

Эти инструменты позволяют контролировать порядок выполнения операций с памятью. В этой статье мы рассмотрим, как volatile влияет на поведение программы, что такое Memory Fences, и как они могут помочь в сложных ситуациях с потоками.


Читать статью
👍1🔥1
Опыт отладки хитрой утечки прямой памяти

Pinterest поддерживает формирование отчётов по метрикам рекламных объявлений внешних рекламодателей и расчёт рекламных бюджетов в реальном времени. Всё это основано на потоковых конвейерах обработки данных, созданных с помощью на Apache Flink. Доступность заданий (job) Flink для пользователей находится на уровне 99-го перцентиля. Но время от времени некоторые задачи (task) «валятся» под ударами неприятных ошибок, вызванных утечками прямой памяти (Out-Of-Memory, OOM), возникающими сразу в нескольких операторах.

Читать статью
🔥1
Путешествие к центру Spring Security

Я вас категорически приветствую! В этой статье я хотел бы поглубже разобрать такую штуку как Spring Security, а в частности Security фильтры, как они работают в целом и как объединяются в цепочку ApplicationFilterChain.

Скажу сразу, эта статья является скорее финальной точкой моего ночного дебагинга кишочков Spring Security, а также одной из основных целей этой статьи является закрепление знаний, которые я получил. Но это не отменяет тот факт, что статья кому-то (и я уверен что многим) будет полезна. Поехали.

Читать статью
👍4🔥3
Разбираем float на части

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

Читать статью
Создаем байт-код для JVM без компилятора

Виртуальная машина Java использует концепцию промежуточного байт-кода для обеспечения переносимости между операционными системами и аппаратными платформами. Использование байт-кода позволяет отделить компилятор от среды выполнения и выполнять компиляцию с разных языков программирования для исполнения на JVM. В этой статье мы разберемся с внутренней организацией class-файлов и байт-кода в них и научимся работать с фреймворком ASM для исследования и программной генерации байт-кода для динамического определения новых классов или их компиляции из других языков программирования.

Читать статью
🔥2
Отладка API Java Message Service с использованием Lightrun

API Java Message Service (JMS) был разработан Sun Microsystems во времена Java EE. Он предоставляет простые абстракции для обмена сообщениями, в том числе производителя сообщений (Message Producer), потребителя сообщений (Message Consumer) и т.д.

Читать статью
👍1
Сопоставление с шаблоном в Java — 5 примеров для занятых разработчиков

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

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

Читать статью
👍2🔥2
Шаблон проектирования: Chain of Responsibility

Данная статья будет полезна начинающим Java разработчиком понять зачем нужен шаблон проектирования «Цепочка ответственности» и как его можно использовать на примерах.

Итак начнем с самого начала. Основная суть данного шаблона: связывание объектов‑получателей в цепочку и передача запроса по ней.

Читать статью
🔥3
Продвинутый GraphQL со Spring Boot

В этой статье вы узнаете, как использовать Spring for GraphQL в своем приложении Spring Boot.

Spring for GraphQL — относительно новый проект. Версия 1.0 была выпущена несколько месяцев назад. До этого релиза нам приходилось подключать сторонние библиотеки, чтобы упростить реализацию GraphQL в приложении Spring Boot.

Читать статью
🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
🔹 Корпоративная архитектура и язык, который всё объясняет 🔹

Управлять сложной организацией становится проще, когда есть универсальный язык. Такой язык — Archimate. Он помогает формализовать архитектуру, говорить с бизнесом и IT на одном уровне.

📅 19 ноября в 20:00 МСК приглашаем на открытый урок, где вы узнаете:

как Archimate облегчает создание и анализ архитектурных моделей
ключевые элементы стандарта и их связи
практические навыки связывания элементов в осмысленные схемы

Используют этот стандарт ведущие архитекторы и аналитики для превращения хаоса процессов в управляемую структуру. После урока вы будете знать, как применять Archimate в своей работе — без лишней теории, с упором на практику.

🚀 В преддверии старта курса «Архитектура корпорации. TOGAF 10» — специальная возможность освоить моделирование, понятное бизнесу и IT.

Регистрируйтесь сейчас: https://vk.cc/cRgLNw

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍2🔥2
Java на стероидах, или опыт работы с Jmix

Как после привычного Spring за месяц сделать сайт с платформой быстрой разработки Jmix. Коротко о технологии, особенностях, возникающих в процессе вопросах и ответах на них.

Читать статью
🔥21
С выходом Java 25 LTS платформа снова изменилась: от синтаксиса и потоков до инструментов миграции.

На Podlodka Java Crew (17–21 ноября) обсудят, как новые фичи влияют на код, и как не потерять стабильность при обновлениях.

📌 В программе:

• как упрощённые исходники и «простые» методы меняют подход к разработке;

• где виртуальные потоки реально вредят производительности;

• что нового готовит Spring Boot 4 и как готовиться к переходу без боли;

• как автоматизировать апдейты и держать код в актуальном состоянии.

💡 Всё с реальными кейсами, метриками и инженерными решениями.

🔗Подробности и билеты: https://podlodka.io/javacrew
1🔥1
Заменят ли потоки данных циклы в Java?

Выпуск версии Java 8 стал знаменательным событием в истории Java. В нем были представлены потоки данных (англ. Streams) и лямбда-выражения, которые сейчас широко применяются. Если вы не знакомы с потоками данных или никогда не слышали о них, то ничего страшного. В большинстве случаев можно обойтись без них, задействуя циклы.

И зачем тогда, спрашивается, нужны потоки данных? Есть ли у них преимущества перед циклами? Могут ли они их заменить? В статье мы изучим соответствующий код, сравним производительность и посмотрим, смогут ли потоки данных стать полноценной заменой циклов.

Читать статью
🔥1