➡️ Удобное преобразование строк с помощью StringJoiner
Работа с объединением строк — это обычная задача, которая может стать громоздкой, если приходится учитывать разделители и правильное форматирование.
✔️ В Java 8 был введен класс StringJoiner, который значительно упрощает эту задачу.
👩💻
@javaquiz
Работа с объединением строк — это обычная задача, которая может стать громоздкой, если приходится учитывать разделители и правильное форматирование.
✔️ В Java 8 был введен класс StringJoiner, который значительно упрощает эту задачу.
👩💻
@javaquiz
Двоичная 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
➡️ 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
➡️ MapStruct
MapStruct — это библиотека для автоматического преобразования данных между Java объектами. Она упрощает создание мапперов и конвертеров, минимизируя необходимость ручного написания кода для преобразования данных между различными слоями приложения.
🗣 MapStruct — это отличный инструмент для разработчиков, которые хотят автоматизировать преобразование данных и улучшить читаемость и поддержку кода. Если вам нужно легко маппировать объекты без лишнего шаблонного кода, MapStruct поможет вам достичь этого.
🔗 Ссылочка на доку (https://mapstruct.org/documentation/installation/)
👩💻
@javaquiz
MapStruct — это библиотека для автоматического преобразования данных между Java объектами. Она упрощает создание мапперов и конвертеров, минимизируя необходимость ручного написания кода для преобразования данных между различными слоями приложения.
🗣 MapStruct — это отличный инструмент для разработчиков, которые хотят автоматизировать преобразование данных и улучшить читаемость и поддержку кода. Если вам нужно легко маппировать объекты без лишнего шаблонного кода, MapStruct поможет вам достичь этого.
🔗 Ссылочка на доку (https://mapstruct.org/documentation/installation/)
👩💻
@javaquiz
Framework для автоматизации тестирования на Java
Смотреть статью ()
👩💻
@javaquiz
https://habr.com/ru/companies/rshb/articles/790116/
Смотреть статью ()
👩💻
@javaquiz
https://habr.com/ru/companies/rshb/articles/790116/
Хабр
Framework для автоматизации тестирования на Java
Привет, Хабр! В нашем сегодняшнем материале тестировщики Максим Жигарев и Артем Сенько из Блока ИТ‑развития инвестиционного бизнеса РСХБ‑Интех расскажут, как они автоматизировали...
➡️ 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
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
➡️ Использование метода Objects::isNull для удобной проверки на null
Начиная с Java 7, был добавлен метод Objects.isNull(), который позволяет более читаемо проверять объекты на null. Это полезно для улучшения читаемости кода, особенно когда нужно часто проверять переменные на null в сложных конструкциях.
• Objects.isNull() помогает сделать код более выразительным и упрощает проверку объектов, избегая громоздких условных операторов.
👩💻
@javaquiz
Начиная с Java 7, был добавлен метод Objects.isNull(), который позволяет более читаемо проверять объекты на null. Это полезно для улучшения читаемости кода, особенно когда нужно часто проверять переменные на null в сложных конструкциях.
• Objects.isNull() помогает сделать код более выразительным и упрощает проверку объектов, избегая громоздких условных операторов.
👩💻
@javaquiz
➡️ Использование метода Collectors.filtering() для фильтрации элементов при сборе в коллекцию
Начиная с Java 9, метод Collectors.filtering() позволяет фильтровать элементы потока перед их сбором в коллекцию. Это полезно, когда нужно собирать только определённые элементы, не прибегая к дополнительным фильтрациям на этапе потока.
• Collectors.filtering() делает код более лаконичным, предоставляя встроенный способ фильтрации элементов в процессе их коллекционирования.
• Этот метод позволяет объединять фильтрацию и сбор данных в одну операцию.
👩💻
@javaquiz
Начиная с Java 9, метод Collectors.filtering() позволяет фильтровать элементы потока перед их сбором в коллекцию. Это полезно, когда нужно собирать только определённые элементы, не прибегая к дополнительным фильтрациям на этапе потока.
• Collectors.filtering() делает код более лаконичным, предоставляя встроенный способ фильтрации элементов в процессе их коллекционирования.
• Этот метод позволяет объединять фильтрацию и сбор данных в одну операцию.
👩💻
@javaquiz
❓ Float или Double?
Программисты часто не могут выбрать необходимую точность для чисел с плавающей запятой. Float требует всего 4 байта, но имеет только 7 значащих цифр, а Double в два раза точнее (15 цифр), но в два раза прожорливее.
🗣️ Фактически, большинство процессоров могут одинаково эффективно работать как с Float, так и с Double, поэтому воспользуйтесь рекомендацией Бьорна Страуструпа (автор языка С++):
Выбор правильной точности для решения реальных задач требует хорошего понимания природы машинных вычислений. Если у вас его нет, либо посоветуйтесь с кем-нибудь, либо изучите проблему самостоятельно, либо используйте Double и надейтесь на лучшее.
👩💻
@javaquiz
Программисты часто не могут выбрать необходимую точность для чисел с плавающей запятой. Float требует всего 4 байта, но имеет только 7 значащих цифр, а Double в два раза точнее (15 цифр), но в два раза прожорливее.
🗣️ Фактически, большинство процессоров могут одинаково эффективно работать как с Float, так и с Double, поэтому воспользуйтесь рекомендацией Бьорна Страуструпа (автор языка С++):
Выбор правильной точности для решения реальных задач требует хорошего понимания природы машинных вычислений. Если у вас его нет, либо посоветуйтесь с кем-нибудь, либо изучите проблему самостоятельно, либо используйте Double и надейтесь на лучшее.
👩💻
@javaquiz
🗣️ Одинарные и двойные кавычки
Что ты ожидаешь в результате выполнения этого кода?
public class Haha {
public static void main(String args[]) {
System.out.print("H" + "a");
System.out.print('H' + 'a');
}
}
💬 Казалось бы, строка должна возвращать «HaHa», но на самом деле это будет «Ha169».
➡️ Двойные кавычки обрабатывают символы как строки, но одинарные кавычки ведут себя иначе. Они преобразуют символьные операнды ('H' и 'a') в целые значения посредством расширения примитивных типов — получается 169.
👩💻
@javaquiz
Что ты ожидаешь в результате выполнения этого кода?
public class Haha {
public static void main(String args[]) {
System.out.print("H" + "a");
System.out.print('H' + 'a');
}
}
💬 Казалось бы, строка должна возвращать «HaHa», но на самом деле это будет «Ha169».
➡️ Двойные кавычки обрабатывают символы как строки, но одинарные кавычки ведут себя иначе. Они преобразуют символьные операнды ('H' и 'a') в целые значения посредством расширения примитивных типов — получается 169.
👩💻
@javaquiz
✔️ Гибкость интерфейсов
ℹ️ В Java есть возможность использовать интерфейсы как контракт для взаимодействия между классами.
Но, возможно, вы не знали, что начиная с Java 8, интерфейсы могут иметь реализацию с помощью методов по умолчанию. Это позволяет добавлять новые методы в интерфейс, не разрушая код, который его уже реализует.
🗣️ Это особенно полезно при развитии существующих проектов, где можно легко добавлять новые функциональные возможности.
👩💻
@javaquiz
ℹ️ В Java есть возможность использовать интерфейсы как контракт для взаимодействия между классами.
Но, возможно, вы не знали, что начиная с Java 8, интерфейсы могут иметь реализацию с помощью методов по умолчанию. Это позволяет добавлять новые методы в интерфейс, не разрушая код, который его уже реализует.
🗣️ Это особенно полезно при развитии существующих проектов, где можно легко добавлять новые функциональные возможности.
👩💻
@javaquiz
В преддверии новой активности мы собрали в одну папку 18 Telegram-каналов известных профессионалов и попросили их авторов подготовить для вас документы, которые помогут:
Please open Telegram to view this post
VIEW IN TELEGRAM
🟢 Локальные переменные в лямбда-выражениях
Java позволяет использовать локальные переменные внутри лямбда-выражений, но с одним важным ограничением: переменные должны быть эффективно финальными (effectively final).
❗️Это означает, что после их инициализации переменные не могут быть изменены.
🗣️ Использование локальных переменных в лямбда-выражениях может быть очень полезным для передачи дополнительных данных в лямбда-выражения
👩💻
@javaquiz
Java позволяет использовать локальные переменные внутри лямбда-выражений, но с одним важным ограничением: переменные должны быть эффективно финальными (effectively final).
❗️Это означает, что после их инициализации переменные не могут быть изменены.
🗣️ Использование локальных переменных в лямбда-выражениях может быть очень полезным для передачи дополнительных данных в лямбда-выражения
👩💻
@javaquiz