➡️ Использование метода String::indent для удобной работы с отступами строк
Начиная с Java 12, был добавлен метод String.indent(), который позволяет легко добавлять или удалять отступы у каждой строки в многострочном тексте.• Это полезно для форматирования строк, когда нужно управлять отступами, особенно при создании сложных текстовых структур.• Метод String.indent() делает управление отступами более удобным и чистым, особенно при работе с форматированными текстами в Java.
Java Learning 👩💻
Создаем графическое окно и меняем цвет фона при клике мышью с помощью Java
Программа создает окно размером 400x400 пикселей, где при клике мышью меняется цвет фона на случайный. Здесь используются следующие компоненты:
1) JFrame - основное окно программы.
2) JPanel - панель внутри окна, цвет фона которой меняется.
3) MouseAdapter - класс для обработки событий мыши. В данном случае мы переопределяем метод mouseClicked, чтобы изменить цвет фона панели при клике мыши.
➡️ Jool — мощное расширение для работы с java.util.Optional
Jool — это небольшая, но полезная библиотека, которая расширяет стандартный функционал Optional, добавляя поддержку нескольких значений через классы Tuple, а также предоставляет дополнительные методы для функционального программирования. Если вам нужно работать с несколькими значениями в одном объекте или использовать продвинутые операции над коллекциями, Jool сильно упростит вашу задачу.
🗣 Jool — отличное решение, если стандартных возможностей Java для функционального программирования или работы с кортежами недостаточно.
🔗 Ссылочка на доку
Java Learning 👩💻
➡️ Zt-Exec — простая и удобная работа с процессами в Java
Zt-Exec — это легковесная библиотека для выполнения и управления внешними процессами в Java-приложениях. Она предоставляет удобный API для запуска командных процессов, чтения их вывода и обработки ошибок, предлагая более гибкие возможности по сравнению со стандартным ProcessBuilder.
🗣 Zt-Exec — отличный выбор, если нужно просто и эффективно запускать внешние команды или управлять процессами прямо из Java-кода.
🔗 Ссылочка на доку
Java Learning 👩💻
Работаем с многопоточностью
Рассмотрим интересный пример кода на Java, который демонстрирует многопоточность с использованием ExecutorService для параллельной обработки задач.
Этот пример создаёт пул из 4 потоков, отправляет в него 5 задач и ждёт их выполнения. Каждая задача выводит сообщение и засыпает на 2 секунды, чтобы имитировать выполнение работы. Это хороший способ управлять многопоточной обработкой в Java, оптимизируя использование ресурсов системы.
➡️ Rapidoid — высокопроизводительный веб-фреймворк для Java
Rapidoid — это ультралегковесный и высокопроизводительный веб-фреймворк для Java. Он разработан для создания высоконагруженных серверов и веб-приложений с минимальными накладными расходами. Rapidoid включает в себя встроенные инструменты для работы с HTTP, REST API и веб-сокетами, а также поддерживает асинхронные запросы.
🗣 Rapidoid — отличный выбор для разработчиков, которым требуется высокая производительность и низкая задержка при работе с веб-сервисами.
🔗 Ссылочка на доку
Java Learning 👩💻
➡️ Отправка email с использованием JavaMail API
Метод postMail отправляет письмо на заданные адреса. Он принимает список получателей, тему, сообщение и адрес отправителя.
⚙️ Настраивается соединение с SMTP-сервером, создается сессия и сообщение. Устанавливаются адрес отправителя и получателей, заголовки, тема и текст сообщения.
✔️ Затем сообщение отправляется с помощью метода Transport.send.
Java Learning 👩💻
👩💻 Что такое Reflection API и как с этим работать?
Ждем вас на открытом вебинаре, где мы познакомимся с механизмом рефлексии в языке Java и посмотрим, где он применяется.
После занятия вы сможете лучше понять, как работают современные фреймворки, использующие аннотации.
Встречаемся 7 августа в 20:00 мск.
Спикер Александр Фисунов — Senior Kotlin Developer в SSP Software на проекте ВТБ, опытный Java-разработчик и кандидат технических наук.
👉 Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://meetup.otus.ru/java-lesson-07-08-2024?utm_source=telegram&utm_medium=cpm&utm_campaign=java&utm_term=Java_per_month&utm_content=web_07-08-2024_usp-universal1_java_text_no-headline_aida_long_aibanner_lesson-banner_blue_standart&erid=LjN8JzfLTРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
🌐 Настройка HTTP-прокси в Java
Этот код настраивает HTTP-прокси для Java-приложения, устанавливая адрес, порт, имя пользователя и пароль прокси-сервера.
✔️ Это позволяет направлять запросы через прокси для обхода ограничений или повышения безопасности.
Java Learning 👩💻
⚙️ Параллелизм в Java 8
В Java 8 было внесено несколько крупных изменений, улучшивших API параллелизма, включая метод newWorkStealingPool().
🗣️ Этот метод создает пул потоков, использующий алгоритм воровства работы, который может использовать доступные процессоры на желаемом уровне параллелизма.
➡️ Другие улучшения в API параллелизма включают:• Новые методы для ConcurrentHashMap: forEach(), forEachEntry(), forEachValue(), reduce(), merge() и search().• CompletableFuture может явно устанавливать свое значение и статус.
Java Learning 👩💻
В сентябре 23 Java уже выходит, через год 25ая, а мы всю про фишки 8ой из 14 года)
Читать полностью…
📚 Пройди тест на знание Java и получи доступ к 6️⃣🔤 открытым урокам курса «Разработчик на Spring Framework».
Два открытых урока можно посмотреть без регистрации и оценить формат обучения. Для доступа ко всем открытым урокам из курса необходимо пройти входное тестирование: ответить на 21 вопрос и уложиться в тайминг.
➡️ НАЧАТЬ ТЕСТИРОВАНИЕ
А еще, приглашаем посетить наш бесплатный открытый урок «Как эффективно использовать OAuth 2 в Spring-приложениях?», который пройдет онлайн, 13 сентября в 20:00 мск.Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
➡️ Использование Pattern.compile().flags() для получения флагов регулярного выражения
В Java 9 был добавлен метод flags() в класс Pattern, который позволяет получить флаги, используемые при компиляции регулярного выражения.• Это может быть полезно для анализа и отладки регулярных выражений, особенно в сложных системах, где нужно понимать, с какими опциями было создано регулярное выражение.• В этом примере создаётся регулярное выражение с несколькими флагами, и затем с помощью метода flags() мы можем получить информацию о них
Java Learning 👩💻
👩💻 Как правильно использовать области действия переменных в Java и как этот навык поможет вам при подготовке к сертификации?
🔌 Ждем вас на открытом вебинаре 16 сентября в 20:00 мск.
Где мы разберем:
✔️ обзор областей действия переменных;
✔️ практические примеры: как области действия переменных влияют на поведение программы и как их правильно использовать;
✔️ подготовку к сертификации: как знание областей действия переменных может помочь вам при подготовке к экзаменам, таким как OCAJP.
Урок будет полезен для тех, кто хочет изучить Java вглубь, узнать тонкости и хитрости языка, а также для Java-разработчиков, стремящихся структурировать свои знания и лучше подготовиться к собеседованиям.
🎙 Спикер Дмитрий Коган — опытный разработчик, председатель совета предприятия в DXC, публицист, спортивный журналист и блогер.
Встречаемся в преддверии старта курса «Углубленное изучение языка Java».
Все участники вебинара получат специальную цену на обучение!
🎁 Подарок личная консультация с руководителем курса Дмитрием Коганом, всем купившим курс после открытого урока.
➡️ Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://clck.ru/3DDdAgРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Как только я их синхронизирую через synchronized все работает как задумано, но и без этого должно
Читать полностью…
➡️ FST — ультрабыстрая сериализация для Java
FST (Fast Serialization) — это библиотека для быстрой сериализации и десериализации объектов в Java. Она предлагает производительность, значительно превышающую стандартный механизм сериализации Java. FST поддерживает сжатие данных, различные форматы и работает с объектами разных версий.
🗣 FST — отличная альтернатива стандартной сериализации Java, если требуется высокая скорость работы и гибкость при работе с данными.
🔗 Ссылочка на доку
Java Learning 👩💻
public class Main {
public static void main(String[] args) {
int[] arr = {1,2,3};
modifyArray(arr);
System.out.println(Arrays.toString(arr));
}
private static void modifyArray(int[] arr) {
arr[0]=10;
}
}
Читать полностью…
➡️ Скриншот в Java
🗣️ Этот код выполняет захват экрана и сохраняет его как изображение в формате PNG.
• Получает размер экрана с помощью Toolkit.getDefaultToolkit().getScreenSize().• Создает прямоугольник, соответствующий размеру экрана.• Создает объект Robot для выполнения действий, связанных с автоматизацией, таких как захват экрана.• Захватывает изображение экрана в виде объекта BufferedImage.• Сохраняет захваченное изображение в файл с указанным именем и форматом PNG с помощью ImageIO.write().
➡️ Пример Singleton в Java
🗣️ Этот код демонстрирует две реализации паттерна Singleton в Java, который гарантирует, что класс имеет только один экземпляр и предоставляет глобальную точку доступа к этому экземпляру.
• В первой реализации используется класс с приватным конструктором и статическим методом для получения единственного экземпляра.• Во второй реализации используется перечисление (enum), что обеспечивает автоматическую гарантию единственного экземпляра и потокобезопасность.
➡️ Генерация PDF в Java с использованием iText JAR
⚙️ Этот код создает PDF-файл "Test.pdf" в указанном пути и добавляет в него два абзаца: один с текстом "Hello Kiran" и второй с текущей датой.
Java Learning 👩💻
📚 Пройди тест на знание Java и получи доступ к 59 открытым урокам по Spring
🕗 Два открытых урока можно посмотреть без регистрации и оценить формат обучения. Для доступа ко всем открытым урокам из курса «Разработчик на Spring Framework» от OTUS необходимо пройти входное тестирование: ответить на 21 вопрос и уложиться в тайминг.
📊 -Курс рассчитан на профессионалов с практическим опытом работы на Java.
- Мы будем 5 месяцев погружать вас в теорию и практику Spring Framework. - Дадим 18 практических работ. Процесс review сдаваемой работы максимально приближен к тому, каким он мог быть на реальном проекте. Помимо этого, мы попросим вас сдать дипломную работу, каких скучных записанных занятий, только живые онлайн-лекции, интересные практические задачи и развернутая обратная связь от лучших экспертов ниши. 📅 Старт группы уже 31 июля 2024г. Доступна рассрочка на обучение.
➡️ НАЧАТЬ ТЕСТИРОВАНИЕРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Выполнится всегда, но если будет исключение внутри finally то второй ресурс не будет закрыт, об этом вроде пост) ну и так писать в 2024 не стоит, лучше сразу в try помещать при открытии ресурса.
Читать полностью…