Telegram Web Link
🚀 Совет по Spring 🚀

Обработка длительных процессов с помощью @Scheduled в Spring. 🔥

@javatg
👍15🔥51
🖥 conductor-oss/conductor

Conductor - это платформа, изначально созданная в Netflix для оркестровки микросервисов и событий, написанный на Java.

Conductor OSS поддерживается командой разработчиков в Orkes вместе с членами сообщества с открытым исходным кодом.

git remote set-url origin https://github.com/conductor-oss/conductor

Github

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥41
🚀 Совет по API Java 🚀

java.util.IdentityHashMap

В отличие от HashMap, этот класс использует равенство ссылок (==), а не равенство объектов (equals()) для определения уникальности ключей, что делает его подходящим для конкретных случаев использования. 🔥

https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/IdentityHashMap.html

@javatg
👍183🔥2
🖥Если вы пропустили, Spring Boot 3.2.1 и 3.1.7 были выпущены сегодня.

https://spring.io/blog/2023/12/21/spring-boot-3-2-1-available-now/

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍133🔥3
🖥 Основные принципы сборки мусора в Java

Сборка мусора (СМ) — это форма автоматического управления памятью. В языках, где отсутствует такая функция, программистам приходится вручную выделять и освобождать память.

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

Сборщик мусора в Java автоматизирует этот процесс, определяя и освобождая память, которая больше не используется, и тем самым обеспечивая ее эффективное использование.

📌 Читать

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍152🔥1
💡Задача: Сумма вдоль столбцов

Условие: дается квадратная матрица, необходимо вычислить минимальную сумму вдоль столбца.

Есть условие на движение вдоль столбца есть ограничение: можно перемещаться на ячейку вниз лишь по диагонали или строго вниз.

Пример:

Ввод:
matrix = [[2,1,3],[6,5,4],[7,8,9]]
Вывод: 13
Объяснение: *во вложении

Решение

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍2🔥1🥰1🤔1
🔥 Дайджест полезных материалов из мира Java за неделю

Почитать:
Быстрый старт. SpringBoot + RabbitMQ
Контейнеризация справочников НСИ
Разносим по полочкам этапы тестирования http запросов в Spring
— Полный отчет Github за 2023 о состоянии проектов.
9 вопросов для собеседования по SQL в Apple
Работаем с enum в kotlin/jvm правильно
Идемпотентность: больше, чем кажется
Проектирование БД рекомендательной системы по подходу DB-first
FizzBuzz for Senior
Stone. Квалификаторы и идентификаторы
Интеграция Keycloak в приложение Spring Boot 3 с использованием протокола OAuth2.0
Простой сервис аутентификации. SpringBootSecurity
Gemini Function Calling
Quarkus : Greener, Better, Faster, Stronger
Bubble Sorting in Java - Detailed Explanation
#30days50question
Riding the Wave: A Fun Dive into the World of Streaming Applications
What's trending in Flutter
Who chooses programming in Java? 🤔💻
Mockando LocalDateTime.now()
GraphQL Java Data Loader
From Java2D to a custom game engine, the past present, and future

Посмотреть:
🌐 Upgrading to Java 21? You'll want avoid these features. ( 02:36)
🌐 Java Highlights of 2023 ( 12:51)
🌐 What is the no-arg empty constructor? - Cracking the Java Coding Interview #codinginterview #java ( 01:00)
🌐 What are the four fundamental functional interfaces in Java? - Cracking the Java Coding Interview ( 01:00)
🌐 Это должен сделать каждый программист — Егор Малькевич ( 00:50)

Хорошего дня!

@javatg
👍94🔥1
📱В чем разница между ListView и RecyclerView?

Поговорим о различиях между RecyclerView и ListView — виджетами, предназначенными для отображения данных в Android-разработке.

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

Для начала выясним, что такое представление (обозначаемое корнем “View” в названии каждого виджета).

Что такое представление?

В Android Studio доступны различные типы представлений для разработки Android-приложений: ImageView, TextView, ListView и т. д. Эти типы представлений помогают сделать удобным пользовательский интерфейс. Представление можно перетащить в раздел XML-дизайна или просто написать код в разделе XML-кода.

Прежде чем перейти к обсуждению различий между ListView и RecyclerView, разберемся в том, что такое ListView и RecyclerView?

ListView — это один из типов представлений, который показывает данные в формате с вертикальной прокруткой. Он повышает удобство работы пользователя, поскольку делает список легко доступным для понимания.

RecyclerView — виджет, наделенный дополнительными компонентами: Adapter соединяет между собой данные, которые нужно поместить в список, а LayoutManager (менеджер макетов) отвечает за правильное расположение данных/элементов списка на экране. Различают 3 типа LayoutManager.

🟡 LinearLayoutManager:

📌 Продолжение

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
7👎3👍2🔥1
🚀 Выпуск archunit-spring v0.2.0

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

GitHub: https://github.com/rweisleder/archunit-spring/releases/tag/v0.2.0

#ArchUnit #Spring #SpringBoot

@javatg
👍113👎1🔥1
🛠️ therapi-runtime-javadoc - небольшая библиотека, позволяющая читать Javadoc из Java-кода во время выполнения.

Github

@javatg
👍144🔥1
🚀 Советы по Spring 🚀

Асинхронная обработка с помощью DeferredResult

Изучите использование DeferredResult и CompletionStage для более тонкого контроля над асинхронной обработкой. 🔥

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/context/request/async/DeferredResult.html

#SpringTip #Java

@javatg
👍92🔥1
⚡️ Когда я гуглю гайды SpringSecurity в интернете.

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯18🔥8😁52👍2
Советы по Java API 🚀

Синхронизация в Java - ReentrantLock

Усовершенствуйте синхронизацию потоков с помощью ReentrantLock в Java.

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

Объект класса ReentrantLock решает те же задачи, что и блок synchronized. Поток висит на вызове метода lock() в ожидании своей очереди занять этот объект. Владеть локом, как и находиться внутри блока synchronized может только один поток одновременно. unlock(), подобно выходу из блока синхронизации, освобождает объект-монитор для других потоков.

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

Шире и возможные режимы блокировки. Кроме обычного ожидающего lock(), вариант tryLock() с параметром ожидает своей очереди только заданное время, а без параметра – вообще не ждет, а только захватывает свободный лок.

Еще одно отличие – свойство fair. Лок с этим свойством обеспечивает «справедливость» очереди: пришедший раньше поток захватывает объект раньше. Блок synchronized не дает никаких гарантий порядка.

📎 Документация

@javatg
👍163🔥3
👍95🔥3
⚡️ Алгоритмы

1. Алгоритмы: пузырьковая сортировка на Java
2. Алгоритмы: проверка вложенных скобок на Java
3. Алгоритмы: поиск простых чисел на Java
4. Алгоритмы: бинарный поиск на отсортированном массиве (реализация на Java)
5. Алгоритмы: поиск простых чисел с помощью "решета Эратосфена"
6. Алгоритмы: проверка слов и предложений на палиндром
7. Алгоритм определения анаграмм
8. Алгоритм инвертирования массива на Java
9. Разбор и вычисление арифметических выражений на Java

#video #algorithm #java

https://www.youtube.com/watch?v=P17lCwXm7KE&list=PL95YVJ6LZEP2GHxoZJ6gdbD8JAHw6mABY

@javatg
👍2110🔥4
Получение одного события разными группами получателей в Kafka с Spring Boot

Инструментарий
🟡Spring Boot (2.7.5)
🟡Apache Kafka
🟡Zookeeper
🟡Docker

Архитектура : рис. 2.

Зависимости
Версия Spring: 2.7.5
Версия Java: 11
<dependencies>

📌 Далее

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥31
Please open Telegram to view this post
VIEW IN TELEGRAM
👍186🔥5
📢 Только что вышел WireMock Spring Boot 2.1.0!

WireMock Spring Boot значительно упрощает тестирование HTTP-клиентов в интеграционных тестах на основе Spring Boot и Junit 5.

https://github.com/maciejwalkowiak/wiremock-spring-boot

@javatg
👍12🔥32
🖥 One Billion Row Challenge (1BRC) - это забавное исследование того, насколько далеко можно зайти в современной Java для агрегирования миллиарда строк из текстового файла.

Задействуйте все свои (виртуальные) потоки, обратитесь к SIMD, оптимизируйте GC или используйте любой другой трюк, и создайте самую быструю реализацию для решения этой задачи!


📌 Реализация на .NET

Github

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍164🔥1
2025/09/16 16:27:53
Back to Top
HTML Embed Code: