👍14
Rapidoid — это ультралегковесный и высокопроизводительный веб-фреймворк для Java. Он разработан для создания высоконагруженных серверов и веб-приложений с минимальными накладными расходами. Rapidoid включает в себя встроенные инструменты для работы с HTTP, REST API и веб-сокетами, а также поддерживает асинхронные запросы.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
FST (Fast Serialization) — это библиотека для быстрой сериализации и десериализации объектов в Java. Она предлагает производительность, значительно превышающую стандартный механизм сериализации Java. FST поддерживает сжатие данных, различные форматы и работает с объектами разных версий.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Работаем с многопоточностью
Рассмотрим интересный пример кода на Java, который демонстрирует многопоточность с использованием ExecutorService для параллельной обработки задач.
Этот пример создаёт пул из 4 потоков, отправляет в него 5 задач и ждёт их выполнения. Каждая задача выводит сообщение и засыпает на 2 секунды, чтобы имитировать выполнение работы. Это хороший способ управлять многопоточной обработкой в Java, оптимизируя использование ресурсов системы.
Рассмотрим интересный пример кода на Java, который демонстрирует многопоточность с использованием ExecutorService для параллельной обработки задач.
Этот пример создаёт пул из 4 потоков, отправляет в него 5 задач и ждёт их выполнения. Каждая задача выводит сообщение и засыпает на 2 секунды, чтобы имитировать выполнение работы. Это хороший способ управлять многопоточной обработкой в Java, оптимизируя использование ресурсов системы.
👍11❤3🎄2
Zt-Exec — это легковесная библиотека для выполнения и управления внешними процессами в Java-приложениях. Она предоставляет удобный API для запуска командных процессов, чтения их вывода и обработки ошибок, предлагая более гибкие возможности по сравнению со стандартным ProcessBuilder.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤4🤔1
java.util.Optional
Jool — это небольшая, но полезная библиотека, которая расширяет стандартный функционал Optional, добавляя поддержку нескольких значений через классы Tuple, а также предоставляет дополнительные методы для функционального программирования. Если вам нужно работать с несколькими значениями в одном объекте или использовать продвинутые операции над коллекциями, Jool сильно упростит вашу задачу.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1
Pattern.compile().flags()
для получения флагов регулярного выраженияВ Java 9 был добавлен метод
flags()
в класс Pattern, который позволяет получить флаги, используемые при компиляции регулярного выражения.•
Это может быть полезно для анализа и отладки регулярных выражений, особенно в сложных системах, где нужно понимать, с какими опциями было создано регулярное выражение.•
В этом примере создаётся регулярное выражение с несколькими флагами, и затем с помощью метода flags()
мы можем получить информацию о нихJava Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2
Создаем графическое окно и меняем цвет фона при клике мышью с помощью Java
Программа создает окно размером 400x400 пикселей, где при клике мышью меняется цвет фона на случайный. Здесь используются следующие компоненты:
1) JFrame - основное окно программы.
2) JPanel - панель внутри окна, цвет фона которой меняется.
3) MouseAdapter - класс для обработки событий мыши. В данном случае мы переопределяем метод mouseClicked, чтобы изменить цвет фона панели при клике мыши.
Программа создает окно размером 400x400 пикселей, где при клике мышью меняется цвет фона на случайный. Здесь используются следующие компоненты:
1) JFrame - основное окно программы.
2) JPanel - панель внутри окна, цвет фона которой меняется.
3) MouseAdapter - класс для обработки событий мыши. В данном случае мы переопределяем метод mouseClicked, чтобы изменить цвет фона панели при клике мыши.
👍9❤5
String::indent
для удобной работы с отступами строкНачиная с Java 12, был добавлен метод
String.indent()
, который позволяет легко добавлять или удалять отступы у каждой строки в многострочном тексте.•
Это полезно для форматирования строк, когда нужно управлять отступами, особенно при создании сложных текстовых структур.•
Метод String.indent()
делает управление отступами более удобным и чистым, особенно при работе с форматированными текстами в Java.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤4
Picocli — это простая и гибкая библиотека для создания командных интерфейсов (CLI) в Java. Она поддерживает аннотации для автоматической генерации документации по командам, обработку аргументов, подкоманд, автодополнение и много других возможностей, которые упрощают создание сложных CLI-приложений.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2❤🔥1
HikariCP — это лёгкий и быстрый пул соединений для баз данных, который считается одним из самых производительных в экосистеме Java.
Он минимизирует задержки при подключении к базам данных, обеспечивая быстрый доступ к ресурсам и высокую масштабируемость. Благодаря простоте настройки и высокой производительности, HikariCP является отличным выбором для проектов, где требуется эффективное управление соединениями с базой данных.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤3
Objects::isNull
для удобной проверки на null
Начиная с Java 7, был добавлен метод
Objects.isNull()
, который позволяет более читаемо проверять объекты на null
. Это полезно для улучшения читаемости кода, особенно когда нужно часто проверять переменные на null в сложных конструкциях.• Objects.isNull()
помогает сделать код более выразительным и упрощает проверку объектов, избегая громоздких условных операторов.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤4
String::strip
для удаления пробеловНачиная с Java 11, был добавлен метод
String.strip()
, который удаляет пробелы в начале и в конце строки. В отличие от trim()
, он корректно работает с символами пробела, определёнными в Unicode, что делает его более универсальным.• String.strip()
полезен для работы с текстовыми данными, где необходимо гарантированно удалить пробелы в соответствии с международными стандартами Unicode.•
Этот метод также предоставляет аналоги для удаления только ведущих или завершающих пробелов: stripLeading()
и stripTrailing()
.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤5🔥1🤔1
Collectors.filtering()
для фильтрации элементов при сборе в коллекциюНачиная с Java 9, метод
Collectors.filtering()
позволяет фильтровать элементы потока перед их сбором в коллекцию. Это полезно, когда нужно собирать только определённые элементы, не прибегая к дополнительным фильтрациям на этапе потока.• Collectors.filtering()
делает код более лаконичным, предоставляя встроенный способ фильтрации элементов в процессе их коллекционирования.•
Этот метод позволяет объединять фильтрацию и сбор данных в одну операцию.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤2
JUnit 5 — это обновлённая версия популярной библиотеки для тестирования, которая предоставляет мощный и гибкий API для написания модульных тестов. JUnit 5 поддерживает аннотации для удобного создания тестов, расширяемость через расширения, а также работу с различными тестовыми сценариями. Он также лучше интегрируется с современными инструментами и фреймворками.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤2🔥1
TestContainers — это библиотека, которая позволяет создавать тестовые окружения с использованием Docker-контейнеров. Это особенно полезно для тестирования взаимодействий с базами данных, сообщениями, веб-сервисами и другими инфраструктурными компонентами в изолированной среде.
TestContainers помогает запускать интеграционные тесты, используя реальные сервисы, работающие в контейнерах.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
В Java 21 были введены виртуальные потоки — лёгковесные потоки, которые значительно упрощают создание и управление большим количеством параллельных задач. Они позволяют запускать тысячи и даже миллионы потоков без значительных затрат ресурсов и сложности управления.
•
Виртуальные потоки потребляют меньше системных ресурсов, позволяя более эффективно использовать многопоточность.•
Они упрощают написание параллельного кода, делая его более читаемым и поддерживаемым.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤1
Optional.ifPresentOrElse()
для обработки значения или выполнения альтернативного действияНачиная с Java 9, метод
Optional.ifPresentOrElse()
позволяет выполнить действие, если значение присутствует, или выполнить другое действие, если значение отсутствует. Это помогает избавиться от лишних проверок на наличие значения.• Optional.ifPresentOrElse()
упрощает обработку значений и позволяет добавить fallback-логику в случае отсутствия значения.•
Этот метод делает код более компактным и читабельным, устраняя необходимость использовать громоздкие условные конструкции.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15