➡️ Maven
Maven — один из трёх самых популярных инструментов для сборки проектов на Java. Он отвечает за компиляцию, создание jar-файлов (Java-архивов), создание дистрибутива программы, генерацию документации.
🗣️ Maven — просто отличная штука, хоть поначалу и не очень понятная. Если вы никогда не использовали Maven раньше, вы многое потеряли.
🔗 Ссылочка на доку (https://maven.apache.org/guides/index.html)
👩💻
@javaquiz
Maven — один из трёх самых популярных инструментов для сборки проектов на Java. Он отвечает за компиляцию, создание jar-файлов (Java-архивов), создание дистрибутива программы, генерацию документации.
🗣️ Maven — просто отличная штука, хоть поначалу и не очень понятная. Если вы никогда не использовали Maven раньше, вы многое потеряли.
🔗 Ссылочка на доку (https://maven.apache.org/guides/index.html)
👩💻
@javaquiz
👍1
⚙️ Параллелизм в Java 8
В Java 8 было внесено несколько крупных изменений, улучшивших API параллелизма, включая метод newWorkStealingPool().
🗣️ Этот метод создает пул потоков, использующий алгоритм воровства работы, который может использовать доступные процессоры на желаемом уровне параллелизма.
➡️ Другие улучшения в API параллелизма включают:
• Новые методы для ConcurrentHashMap: forEach(), forEachEntry(), forEachValue(), reduce(), merge() и search().
• CompletableFuture может явно устанавливать свое значение и статус.
👩💻
@javaquiz
В Java 8 было внесено несколько крупных изменений, улучшивших API параллелизма, включая метод newWorkStealingPool().
🗣️ Этот метод создает пул потоков, использующий алгоритм воровства работы, который может использовать доступные процессоры на желаемом уровне параллелизма.
➡️ Другие улучшения в API параллелизма включают:
• Новые методы для ConcurrentHashMap: forEach(), forEachEntry(), forEachValue(), reduce(), merge() и search().
• CompletableFuture может явно устанавливать свое значение и статус.
👩💻
@javaquiz
👍1🔥1
➡️ Отправка email с использованием JavaMail API
Метод postMail отправляет письмо на заданные адреса. Он принимает список получателей, тему, сообщение и адрес отправителя.
⚙️ Настраивается соединение с SMTP-сервером, создается сессия и сообщение. Устанавливаются адрес отправителя и получателей, заголовки, тема и текст сообщения.
✔️ Затем сообщение отправляется с помощью метода Transport.send.
👩💻
@javaquiz
Метод postMail отправляет письмо на заданные адреса. Он принимает список получателей, тему, сообщение и адрес отправителя.
⚙️ Настраивается соединение с SMTP-сервером, создается сессия и сообщение. Устанавливаются адрес отправителя и получателей, заголовки, тема и текст сообщения.
✔️ Затем сообщение отправляется с помощью метода Transport.send.
👩💻
@javaquiz
👍3
➡️ Создаем PDF-файл в Java
Этот код создает PDF-файл с использованием библиотеки iText в Java.
• Внутри метода main создается новый PDF-документ, добавляются два параграфа: один с текстом "Hello Kiran" и второй с текущей датой и временем.
• Затем документ сохраняется в файл C:\Test.pdf. Если возникает ошибка, она выводится в консоль.
👩💻
@javaquiz
Этот код создает PDF-файл с использованием библиотеки iText в Java.
• Внутри метода main создается новый PDF-документ, добавляются два параграфа: один с текстом "Hello Kiran" и второй с текущей датой и временем.
• Затем документ сохраняется в файл C:\Test.pdf. Если возникает ошибка, она выводится в консоль.
👩💻
@javaquiz
👍2🔥1
Как пропатчить Intellij Idea для FreeBSD
Смотреть статью ()
👩💻
@javaquiz
https://habr.com/ru/articles/912976/
Смотреть статью ()
👩💻
@javaquiz
https://habr.com/ru/articles/912976/
Хабр
Как пропатчить Intellij Idea для FreeBSD
Здравствуйте, эта статья не про аниме, но мы точно знаем как пропатчить Idea для FreeBSD. И не боимся об этом рассказывать. Да, они опять решили напугать BSD-шников...
⚙️ Перегрузка
Перегрузка методов происходит, когда в одном классе несколько методов имеют одинаковое имя, но разные параметры.
✔️ Это разрешается на этапе компиляции.
👩💻
@javaquiz
Перегрузка методов происходит, когда в одном классе несколько методов имеют одинаковое имя, но разные параметры.
✔️ Это разрешается на этапе компиляции.
👩💻
@javaquiz
👍2
ООП для кота – моделируем кота через классы
Смотреть статью ()
👩💻
@javaquiz
https://habr.com/ru/companies/beget/articles/906716/
Смотреть статью ()
👩💻
@javaquiz
https://habr.com/ru/companies/beget/articles/906716/
Хабр
ООП для кота – моделируем кота через классы
Программирование — довольно сложная штука, и, поэтому, его хорошо учить на наглядных примерах. А что может быть наглядней котофея? :-)) Поэтому, попробуем рассмотреть кота через...
➡️ Реализация шаблонного метода с использованием default методов в интерфейсах
Java 8 представила возможность добавлять методы с реализацией по умолчанию (default) в интерфейсы.
🗣️ Это открывает интересные возможности для создания шаблонных методов, которые могут быть переопределены в классах, реализующих интерфейс.
• default методы в интерфейсах позволяют задавать базовое поведение, которое можно переопределить в классах, реализующих интерфейс.
👩💻
@javaquiz
Java 8 представила возможность добавлять методы с реализацией по умолчанию (default) в интерфейсы.
🗣️ Это открывает интересные возможности для создания шаблонных методов, которые могут быть переопределены в классах, реализующих интерфейс.
• default методы в интерфейсах позволяют задавать базовое поведение, которое можно переопределить в классах, реализующих интерфейс.
👩💻
@javaquiz
👍1
➡️ Удобное преобразование строк с помощью StringJoiner
Работа с объединением строк — это обычная задача, которая может стать громоздкой, если приходится учитывать разделители и правильное форматирование.
✔️ В Java 8 был введен класс StringJoiner, который значительно упрощает эту задачу.
👩💻
@javaquiz
Работа с объединением строк — это обычная задача, которая может стать громоздкой, если приходится учитывать разделители и правильное форматирование.
✔️ В Java 8 был введен класс StringJoiner, который значительно упрощает эту задачу.
👩💻
@javaquiz
👍1
Двоичная Java: CDS, CRaC и AOT для ускорения запуска и прогрева JVM
Смотреть статью ()
👩💻
@javaquiz
https://habr.com/ru/companies/axiomjdk/articles/911568/
Смотреть статью ()
👩💻
@javaquiz
https://habr.com/ru/companies/axiomjdk/articles/911568/
Хабр
Двоичная Java: CDS, CRaC и AOT для ускорения запуска и прогрева JVM
Это текстовая версия доклада с HighLoad++ 2024 , с которым выступал один из наших бывших девелопер-адвокатов @RustamKuramshin Также есть отдельная запись доклада , сделанная силами участников...
➡️ Оптимизация работы с коллекциями с помощью метода removeIf
В Java 8 был введен метод removeIf, который позволяет удалить элементы из коллекции, удовлетворяющие определенному условию, без необходимости явного использования цикла.
👩💻
@javaquiz
В Java 8 был введен метод removeIf, который позволяет удалить элементы из коллекции, удовлетворяющие определенному условию, без необходимости явного использования цикла.
👩💻
@javaquiz
🔥2👍1
➡️ JOOQ
JOOQ (Java Object Oriented Querying) — это мощная библиотека для построения SQL-запросов в Java с использованием объектно-ориентированного подхода. Она генерирует типизированный SQL-код на основе вашей базы данных, что позволяет избежать ошибок на этапе компиляции.
🗣 JOOQ — идеальный инструмент для тех, кто хочет сочетать мощь SQL с безопасностью и удобством объектно-ориентированного программирования в Java. Если вы еще не пробовали JOOQ, самое время начать!
🔗 Ссылочка на доку (https://github.com/jOOQ/jOOQ)
👩💻
@javaquiz
JOOQ (Java Object Oriented Querying) — это мощная библиотека для построения SQL-запросов в Java с использованием объектно-ориентированного подхода. Она генерирует типизированный SQL-код на основе вашей базы данных, что позволяет избежать ошибок на этапе компиляции.
🗣 JOOQ — идеальный инструмент для тех, кто хочет сочетать мощь SQL с безопасностью и удобством объектно-ориентированного программирования в Java. Если вы еще не пробовали JOOQ, самое время начать!
🔗 Ссылочка на доку (https://github.com/jOOQ/jOOQ)
👩💻
@javaquiz
👍4👎3
➡️ MapStruct
MapStruct — это библиотека для автоматического преобразования данных между Java объектами. Она упрощает создание мапперов и конвертеров, минимизируя необходимость ручного написания кода для преобразования данных между различными слоями приложения.
🗣 MapStruct — это отличный инструмент для разработчиков, которые хотят автоматизировать преобразование данных и улучшить читаемость и поддержку кода. Если вам нужно легко маппировать объекты без лишнего шаблонного кода, MapStruct поможет вам достичь этого.
🔗 Ссылочка на доку (https://mapstruct.org/documentation/installation/)
👩💻
@javaquiz
MapStruct — это библиотека для автоматического преобразования данных между Java объектами. Она упрощает создание мапперов и конвертеров, минимизируя необходимость ручного написания кода для преобразования данных между различными слоями приложения.
🗣 MapStruct — это отличный инструмент для разработчиков, которые хотят автоматизировать преобразование данных и улучшить читаемость и поддержку кода. Если вам нужно легко маппировать объекты без лишнего шаблонного кода, MapStruct поможет вам достичь этого.
🔗 Ссылочка на доку (https://mapstruct.org/documentation/installation/)
👩💻
@javaquiz
👍5
Framework для автоматизации тестирования на Java
Смотреть статью ()
👩💻
@javaquiz
https://habr.com/ru/companies/rshb/articles/790116/
Смотреть статью ()
👩💻
@javaquiz
https://habr.com/ru/companies/rshb/articles/790116/
Хабр
Framework для автоматизации тестирования на Java
Привет, Хабр! В нашем сегодняшнем материале тестировщики Максим Жигарев и Артем Сенько из Блока ИТ‑развития инвестиционного бизнеса РСХБ‑Интех расскажут, как они автоматизировали...
👎2
➡️ JavaFXPorts
JavaFXPorts — это библиотека, которая позволяет использовать JavaFX для разработки кроссплатформенных приложений, поддерживающих мобильные устройства. С JavaFXPorts вы можете разрабатывать приложения на JavaFX и запускать их на Android и iOS, обеспечивая нативное взаимодействие с пользовательским интерфейсом.
🗣 JavaFXPorts — полезная библиотека для разработчиков, стремящихся расширить возможности JavaFX на мобильные платформы. Если вам нужно создать кроссплатформенное приложение с использованием Java, JavaFXPorts поможет вам достичь этой цели.
🔗 Ссылочка на доку (https://gluonhq.com/products/mobile/javafxports/)
👩💻
@javaquiz
JavaFXPorts — это библиотека, которая позволяет использовать JavaFX для разработки кроссплатформенных приложений, поддерживающих мобильные устройства. С JavaFXPorts вы можете разрабатывать приложения на JavaFX и запускать их на Android и iOS, обеспечивая нативное взаимодействие с пользовательским интерфейсом.
🗣 JavaFXPorts — полезная библиотека для разработчиков, стремящихся расширить возможности JavaFX на мобильные платформы. Если вам нужно создать кроссплатформенное приложение с использованием Java, JavaFXPorts поможет вам достичь этой цели.
🔗 Ссылочка на доку (https://gluonhq.com/products/mobile/javafxports/)
👩💻
@javaquiz
Cobertura
Cobertura — это инструмент для покрытия кода, который помогает разработчикам Java отслеживать, какие части их кода тестируются. Он работает путем сбора данных о том, какие строки кода выполняются во время тестов, и сравнения этих данных с полным набором строк кода в проекте.
👩💻
@javaquiz
Cobertura — это инструмент для покрытия кода, который помогает разработчикам Java отслеживать, какие части их кода тестируются. Он работает путем сбора данных о том, какие строки кода выполняются во время тестов, и сравнения этих данных с полным набором строк кода в проекте.
👩💻
@javaquiz
👍3
Avaje Http Server
Avaje Http Server — это библиотека Java, которая упрощает разработку REST API с помощью аннотаций. Она генерирует код адаптера для различных фреймворков HTTP-серверов, таких как Javalin и Helidon SE.
👩💻
@javaquiz
Avaje Http Server — это библиотека Java, которая упрощает разработку REST API с помощью аннотаций. Она генерирует код адаптера для различных фреймворков HTTP-серверов, таких как Javalin и Helidon SE.
👩💻
@javaquiz
ImageJ
ImageJ — это бесплатная программа с открытым исходным кодом для обработки и анализа изображений, написанная на языке Java. Она разработана Национальными институтами здоровья США (NIH) и распространяется без каких-либо лицензионных ограничений.
👩💻
@javaquiz
ImageJ — это бесплатная программа с открытым исходным кодом для обработки и анализа изображений, написанная на языке Java. Она разработана Национальными институтами здоровья США (NIH) и распространяется без каких-либо лицензионных ограничений.
👩💻
@javaquiz
OpenCSV
OpenCSV — это библиотека Java с открытым исходным кодом, предназначенная для работы с CSV-файлами. Она обеспечивает простой и удобный интерфейс для чтения, записи, обработки и анализа CSV-данных. OpenCSV является одной из самых популярных библиотек для работы с CSV в Java, благодаря своей простоте использования, производительности и широкому набору функций.
https://opencsv.sourceforge.net/
👩💻
@javaquiz
OpenCSV — это библиотека Java с открытым исходным кодом, предназначенная для работы с CSV-файлами. Она обеспечивает простой и удобный интерфейс для чтения, записи, обработки и анализа CSV-данных. OpenCSV является одной из самых популярных библиотек для работы с CSV в Java, благодаря своей простоте использования, производительности и широкому набору функций.
https://opencsv.sourceforge.net/
👩💻
@javaquiz
👍1
➡️ Использование метода Objects::isNull для удобной проверки на null
Начиная с Java 7, был добавлен метод Objects.isNull(), который позволяет более читаемо проверять объекты на null. Это полезно для улучшения читаемости кода, особенно когда нужно часто проверять переменные на null в сложных конструкциях.
• Objects.isNull() помогает сделать код более выразительным и упрощает проверку объектов, избегая громоздких условных операторов.
👩💻
@javaquiz
Начиная с Java 7, был добавлен метод Objects.isNull(), который позволяет более читаемо проверять объекты на null. Это полезно для улучшения читаемости кода, особенно когда нужно часто проверять переменные на null в сложных конструкциях.
• Objects.isNull() помогает сделать код более выразительным и упрощает проверку объектов, избегая громоздких условных операторов.
👩💻
@javaquiz
🔥2👍1
➡️ Использование метода Collectors.filtering() для фильтрации элементов при сборе в коллекцию
Начиная с Java 9, метод Collectors.filtering() позволяет фильтровать элементы потока перед их сбором в коллекцию. Это полезно, когда нужно собирать только определённые элементы, не прибегая к дополнительным фильтрациям на этапе потока.
• Collectors.filtering() делает код более лаконичным, предоставляя встроенный способ фильтрации элементов в процессе их коллекционирования.
• Этот метод позволяет объединять фильтрацию и сбор данных в одну операцию.
👩💻
@javaquiz
Начиная с Java 9, метод Collectors.filtering() позволяет фильтровать элементы потока перед их сбором в коллекцию. Это полезно, когда нужно собирать только определённые элементы, не прибегая к дополнительным фильтрациям на этапе потока.
• Collectors.filtering() делает код более лаконичным, предоставляя встроенный способ фильтрации элементов в процессе их коллекционирования.
• Этот метод позволяет объединять фильтрацию и сбор данных в одну операцию.
👩💻
@javaquiz