➡️ Использование метода Stream.takeWhile() для фильтрации данных
Stream.takeWhile() — это метод, который появился в Java 9 и позволяет получать элементы потока до тех пор, пока выполняется заданное условие. Как только условие перестаёт выполняться, поток завершает свою работу, и оставшиеся элементы не проверяются.
• takeWhile() полезен для работы с отсортированными данными, где нужно выбрать элементы, соответствующие определённому критерию, до первого неподходящего элемента.
👩💻
@javaquiz
Stream.takeWhile() — это метод, который появился в Java 9 и позволяет получать элементы потока до тех пор, пока выполняется заданное условие. Как только условие перестаёт выполняться, поток завершает свою работу, и оставшиеся элементы не проверяются.
• takeWhile() полезен для работы с отсортированными данными, где нужно выбрать элементы, соответствующие определённому критерию, до первого неподходящего элемента.
👩💻
@javaquiz
👍2
➡️ Javers — библиотека для отслеживания изменений в Java объектах
Javers — это мощная библиотека для отслеживания изменений в Java-объектах. Она помогает сохранять и сравнивать состояния объектов, что особенно полезно при необходимости ведения истории изменений данных. С помощью Javers можно легко отслеживать, какие поля были изменены и на какие значения.
🗣 Javers — отличный выбор для приложений, где важна история изменений объектов и их версионность.
🔗 Ссылочка на доку (https://javers.org/documentation/)
👩💻
@javaquiz
Javers — это мощная библиотека для отслеживания изменений в Java-объектах. Она помогает сохранять и сравнивать состояния объектов, что особенно полезно при необходимости ведения истории изменений данных. С помощью Javers можно легко отслеживать, какие поля были изменены и на какие значения.
🗣 Javers — отличный выбор для приложений, где важна история изменений объектов и их версионность.
🔗 Ссылочка на доку (https://javers.org/documentation/)
👩💻
@javaquiz
👍5
➡️ Использование библиотеки Reflections для работы с классами и методами
Reflections — это небольшая, но мощная библиотека для Java, которая позволяет сканировать классы, методы, поля и аннотации во время выполнения. С её помощью можно быстро находить компоненты по заданным критериям, например, все классы, реализующие определённый интерфейс, или все методы, помеченные определённой аннотацией.
• Reflections упрощает динамический анализ классов и может быть полезен при реализации системы плагинов, регистрации классов или поиске обработчиков событий.
🔗 Ссылочка на доку (https://github.com/ronmamo/reflections)
👩💻
@javaquiz
Reflections — это небольшая, но мощная библиотека для Java, которая позволяет сканировать классы, методы, поля и аннотации во время выполнения. С её помощью можно быстро находить компоненты по заданным критериям, например, все классы, реализующие определённый интерфейс, или все методы, помеченные определённой аннотацией.
• Reflections упрощает динамический анализ классов и может быть полезен при реализации системы плагинов, регистрации классов или поиске обработчиков событий.
🔗 Ссылочка на доку (https://github.com/ronmamo/reflections)
👩💻
@javaquiz
👍1
Checkstyle
Checkstyle — это статический анализатор кода Java, который помогает разработчикам писать код в соответствии с заданными стандартами кодирования. Он может проверять код на различные проблемы, такие как несоответствие стандартам кодирования, дублирование кода, неиспользуемые переменные и методы, неправильные комментарии.
👩💻
@javaquiz
Checkstyle — это статический анализатор кода Java, который помогает разработчикам писать код в соответствии с заданными стандартами кодирования. Он может проверять код на различные проблемы, такие как несоответствие стандартам кодирования, дублирование кода, неиспользуемые переменные и методы, неправильные комментарии.
👩💻
@javaquiz
🔥1
Что такое Apache Commons Net?
Apache Commons Net — это библиотека Java с открытым исходным кодом, которая реализует клиентскую часть многих основных интернет-протоколов.
Цель библиотеки:
— Предоставить базовый доступ к протоколам, а не высокоуровневые абстракции.
— Сделать разработку сетевых приложений Java более простой и удобной.
Как использовать Apache Commons Net?
1. Добавьте библиотеку в свой проект.
2. Включите необходимые пакеты в ваш код.
3. Создайте экземпляр класса, соответствующего нужному протоколу.
4. Используйте методы класса для взаимодействия с протоколом.
👩💻
@javaquiz
Apache Commons Net — это библиотека Java с открытым исходным кодом, которая реализует клиентскую часть многих основных интернет-протоколов.
Цель библиотеки:
— Предоставить базовый доступ к протоколам, а не высокоуровневые абстракции.
— Сделать разработку сетевых приложений Java более простой и удобной.
Как использовать Apache Commons Net?
1. Добавьте библиотеку в свой проект.
2. Включите необходимые пакеты в ваш код.
3. Создайте экземпляр класса, соответствующего нужному протоколу.
4. Используйте методы класса для взаимодействия с протоколом.
👩💻
@javaquiz
👍4
Fluent Interface
Fluent Interface (Текучий интерфейс) — это шаблон проектирования, который позволяет создавать код, читающийся как текст на естественном языке.
Он достигается путем создания методов, которые возвращают ссылку на this объект, позволяя вызывать их в цепочке.
👩💻
@javaquiz
Fluent Interface (Текучий интерфейс) — это шаблон проектирования, который позволяет создавать код, читающийся как текст на естественном языке.
Он достигается путем создания методов, которые возвращают ссылку на this объект, позволяя вызывать их в цепочке.
👩💻
@javaquiz
👍3👎1🔥1
Стирание типов
Стирание типов (type erasure) — это процесс, при котором информация о типах параметризованных типов (generic types) удаляется во время компиляции и не сохраняется во время выполнения программы.
👩💻
@javaquiz
Стирание типов (type erasure) — это процесс, при котором информация о типах параметризованных типов (generic types) удаляется во время компиляции и не сохраняется во время выполнения программы.
👩💻
@javaquiz
Mockito
Mockito — это фреймворк для создания заглушек (mocks) в Java. Заглушки — это имитаторы реальных объектов, которые используются при тестировании кода.
Зачем использовать Mockito?
С помощью Mockito вы можете легко создавать заглушки для сложных объектов, что позволяет вам сосредоточиться на тестировании конкретного фрагмента кода. Также заглушки Mockito позволяют вам имитировать различные сценарии, что помогает вам написать более надежные тесты.
👩💻
@javaquiz
Mockito — это фреймворк для создания заглушек (mocks) в Java. Заглушки — это имитаторы реальных объектов, которые используются при тестировании кода.
Зачем использовать Mockito?
С помощью Mockito вы можете легко создавать заглушки для сложных объектов, что позволяет вам сосредоточиться на тестировании конкретного фрагмента кода. Также заглушки Mockito позволяют вам имитировать различные сценарии, что помогает вам написать более надежные тесты.
👩💻
@javaquiz
👍3👎1🔥1
🔵 Занимаешься IT и ищешь свежие идеи? На этом канале (https://www.tg-me.com/+P7aedsLTrdBkNjBi) собраны инсайды СЕО 1win о развитии iGaming-бизнеса.
Узнай, как управлять крупной компанией в высококонкурентной нише, используя новые технологии и тренды.
Подписывайся на Owner 1win (https://www.tg-me.com/+P7aedsLTrdBkNjBi) и будь в теме!
@javaquiz
Узнай, как управлять крупной компанией в высококонкурентной нише, используя новые технологии и тренды.
Подписывайся на Owner 1win (https://www.tg-me.com/+P7aedsLTrdBkNjBi) и будь в теме!
@javaquiz
StringTokenizer
StringTokenizer — это класс в Java, который используется для разбиения строки на токены. Токены — это отдельные части строки, разделенные символами-разделителями.
Создание объекта StringTokenizer:
StringTokenizer st = new StringTokenizer(строка, разделители);
строка — это строка, которую нужно разбить на токены.
разделители — это строка, содержащая символы-разделители.
👩💻
@javaquiz
StringTokenizer — это класс в Java, который используется для разбиения строки на токены. Токены — это отдельные части строки, разделенные символами-разделителями.
Создание объекта StringTokenizer:
StringTokenizer st = new StringTokenizer(строка, разделители);
строка — это строка, которую нужно разбить на токены.
разделители — это строка, содержащая символы-разделители.
👩💻
@javaquiz
👍1
🤝 Тормозит карьерный рост? Упираетесь в потолок с текущими навыками на Java? Новые проекты ускользают, а вы застряли на одном уровне?
🔥 Пройдите тест! 💻 Ответьте на 22 вопроса и узнайте, достаточно ли у вас знаний, для обучения на онлайн-курсе «Java Developer. Advanced» от OTUS.
На курсе вы изучите:
✔️ Принципы профилирования JVM и оптимизации приложений.
✔️ Выбор и настройку сборщика мусора (GC).
✔️ Использование фреймворков для неблокирующих IO.
✔️ Интеграцию с Prometheus и Grafana для мониторинга.
✔️ Разработку микросервисов и деплой в Kubernetes.
Вас ждут живые вебинары, общение с преподавателями и вашей группой в Telegram, сдача домашних работ и получение обратной связи от преподавателя..
🦾 Пора стать тем самым разработчиком, которого компании хантят друг у друга. Нужно только перейти на принципиально новый уровень.
➡️ Пройдите короткий тест и присоединяйтесь к группе: https://clck.ru/3Muw7T
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🔥 Пройдите тест! 💻 Ответьте на 22 вопроса и узнайте, достаточно ли у вас знаний, для обучения на онлайн-курсе «Java Developer. Advanced» от OTUS.
На курсе вы изучите:
✔️ Принципы профилирования JVM и оптимизации приложений.
✔️ Выбор и настройку сборщика мусора (GC).
✔️ Использование фреймворков для неблокирующих IO.
✔️ Интеграцию с Prometheus и Grafana для мониторинга.
✔️ Разработку микросервисов и деплой в Kubernetes.
Вас ждут живые вебинары, общение с преподавателями и вашей группой в Telegram, сдача домашних работ и получение обратной связи от преподавателя..
🦾 Пора стать тем самым разработчиком, которого компании хантят друг у друга. Нужно только перейти на принципиально новый уровень.
➡️ Пройдите короткий тест и присоединяйтесь к группе: https://clck.ru/3Muw7T
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Класс MathContext
Класс MathContext используется для указания точности вычислений с плавающей запятой. Он определяет два параметра:
precision — количество знаков после запятой, которые должны сохраняться в результате вычислений.
roundingMode — способ округления значений, которые не могут быть точно представлены с заданной точностью.
По умолчанию точность вычислений в Java равна 16 знакам после запятой, а режим округления — HALF_UP.
👩💻
@javaquiz
Класс MathContext используется для указания точности вычислений с плавающей запятой. Он определяет два параметра:
precision — количество знаков после запятой, которые должны сохраняться в результате вычислений.
roundingMode — способ округления значений, которые не могут быть точно представлены с заданной точностью.
По умолчанию точность вычислений в Java равна 16 знакам после запятой, а режим округления — HALF_UP.
👩💻
@javaquiz
👍1
MouseListener
MouseListener — это интерфейс в Java, позволяющий компонентам графического интерфейса (GUI) реагировать на действия мыши, такие как нажатие, отпускание, перемещение, вход и выход курсора. Он широко используется для создания интерактивных приложений.
👩💻
@javaquiz
MouseListener — это интерфейс в Java, позволяющий компонентам графического интерфейса (GUI) реагировать на действия мыши, такие как нажатие, отпускание, перемещение, вход и выход курсора. Он широко используется для создания интерактивных приложений.
👩💻
@javaquiz
KeyListener
KeyListener — это интерфейс в Java, который позволяет отслеживать события, связанные с клавиатурой. Он используется для определения того, когда пользователь нажимает, отпускает или печатает клавишу.
👩💻
@javaquiz
KeyListener — это интерфейс в Java, который позволяет отслеживать события, связанные с клавиатурой. Он используется для определения того, когда пользователь нажимает, отпускает или печатает клавишу.
👩💻
@javaquiz
👍1
👩💻🎯 Открытый урок «Кракозябры vs Java: как победить кодировки и стать Гуру Unicode?».
🗓 17 июля в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java-разработчик».
Ошибки в кодировках ломают приложения, превращая текст в «абракадабру». Понимание таблиц кодировок — must-have навык для работы с данными, файлами и международными проектами.
О чём поговорим:
✔️ ASCII, UTF-8, Unicode — WTF? Разберём, как Java хранит и обрабатывает текст.
✔️ Почему файлы «ломаются»? Как избежать ошибок при чтении/записи данных.
✔️ Лайфхаки для юникода: работа с иероглифами и русским языком.
✔️ Секреты JVM: как настроить кодировку в проекте.
Кому будет интересно:
Начинающим Java-разработчикам и тестировщикам, сталкивающимся с международными данными и проблемами кодировки.
В результате вебинара вы:
Научитесь контролировать кодировки в своих приложениях, исправлять «кракозябры» и работать с любыми текстовыми данными без страха.
🔗 Ссылка на регистрацию: https://clck.ru/3MzZAZ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🗓 17 июля в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java-разработчик».
Ошибки в кодировках ломают приложения, превращая текст в «абракадабру». Понимание таблиц кодировок — must-have навык для работы с данными, файлами и международными проектами.
О чём поговорим:
✔️ ASCII, UTF-8, Unicode — WTF? Разберём, как Java хранит и обрабатывает текст.
✔️ Почему файлы «ломаются»? Как избежать ошибок при чтении/записи данных.
✔️ Лайфхаки для юникода: работа с иероглифами и русским языком.
✔️ Секреты JVM: как настроить кодировку в проекте.
Кому будет интересно:
Начинающим Java-разработчикам и тестировщикам, сталкивающимся с международными данными и проблемами кодировки.
В результате вебинара вы:
Научитесь контролировать кодировки в своих приложениях, исправлять «кракозябры» и работать с любыми текстовыми данными без страха.
🔗 Ссылка на регистрацию: https://clck.ru/3MzZAZ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
DelayQueue
DelayQueue — это очередь, которая хранит элементы в порядке их задержки. Элементы в очереди извлекаются только после истечения их задержки.
DelayQueue реализует интерфейс BlockingQueue, поэтому элементы могут извлекаться из нее только блокирующими методами take() или poll(long timeout, TimeUnit unit).
Элементы DelayQueue должны реализовывать интерфейс Delayed. Интерфейс Delayed определяет два метода:
getDelay(): возвращает оставшуюся задержку элемента в миллисекундах.
isExpired(): возвращает true, если задержка элемента истекла.
👩💻
@javaquiz
DelayQueue — это очередь, которая хранит элементы в порядке их задержки. Элементы в очереди извлекаются только после истечения их задержки.
DelayQueue реализует интерфейс BlockingQueue, поэтому элементы могут извлекаться из нее только блокирующими методами take() или poll(long timeout, TimeUnit unit).
Элементы DelayQueue должны реализовывать интерфейс Delayed. Интерфейс Delayed определяет два метода:
getDelay(): возвращает оставшуюся задержку элемента в миллисекундах.
isExpired(): возвращает true, если задержка элемента истекла.
👩💻
@javaquiz
👍1🔥1
В преддверии новой активности мы собрали в одну папку 29 Telegram-каналов известных профессионалов и попросили их авторов подготовить для вас документы, которые помогут:
Также они проводят розыгрыш с топовыми призами:
Как участвовать:
1. Подпишись на папку: https://www.tg-me.com/addlist/Qu1lhSIaUZVjZTFi
2. Подтверди участие в боте
До встречи 27 июля – дата подведения итогов!
Please open Telegram to view this post
VIEW IN TELEGRAM
➡️ Использование метода Collectors.mapping() для преобразования данных при сборе в коллекцию
Метод Collectors.mapping() позволяет преобразовывать элементы потока перед их сбором в коллекцию. Это полезно, когда нужно не только собрать данные, но и предварительно изменить каждый элемент (например, преобразовать объект в строку).
• Collectors.mapping() делает код более гибким и позволяет одновременно выполнять преобразования и сбор данных.
• Этот метод особенно полезен для сбора данных с модификацией их формата или структуры.
👩💻
@javaquiz
Метод Collectors.mapping() позволяет преобразовывать элементы потока перед их сбором в коллекцию. Это полезно, когда нужно не только собрать данные, но и предварительно изменить каждый элемент (например, преобразовать объект в строку).
• Collectors.mapping() делает код более гибким и позволяет одновременно выполнять преобразования и сбор данных.
• Этот метод особенно полезен для сбора данных с модификацией их формата или структуры.
👩💻
@javaquiz
👍3
⚖️ 👩💻 LangChain в Java: Langchain4j, Quarkus, Spring Boot
LangChain открывает мощные возможности LLM в приложениях Java, упрощая интеграцию ИИ в сервисы на Quarkus и Spring Boot.
🗓 17 июня в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java Developer. Advanced».
📌О чём поговорим:
- Framework LangChain: ключевые концепции и архитектура.
- Langchain4j: возможности Java-библиотеки.
- Интеграция Langchain4j в проекты на Spring Boot и Quarkus.
- Spring AI: фреймворк для работы с LLM в Spring.
📌Кому будет интересно:
Java-разработчикам, архитекторам ПО и инженерам ML Ops, планирующим внедрять LLM в микросервисы на Quarkus или Spring Boot.
📌В результате урока вы:
Познакомитесь с Langchain4j и сможете написать простой Java-сервис, использующий LLM.
🔗 Ссылка на регистрацию: https://clck.ru/3N3i7x
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
LangChain открывает мощные возможности LLM в приложениях Java, упрощая интеграцию ИИ в сервисы на Quarkus и Spring Boot.
🗓 17 июня в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java Developer. Advanced».
📌О чём поговорим:
- Framework LangChain: ключевые концепции и архитектура.
- Langchain4j: возможности Java-библиотеки.
- Интеграция Langchain4j в проекты на Spring Boot и Quarkus.
- Spring AI: фреймворк для работы с LLM в Spring.
📌Кому будет интересно:
Java-разработчикам, архитекторам ПО и инженерам ML Ops, планирующим внедрять LLM в микросервисы на Quarkus или Spring Boot.
📌В результате урока вы:
Познакомитесь с Langchain4j и сможете написать простой Java-сервис, использующий LLM.
🔗 Ссылка на регистрацию: https://clck.ru/3N3i7x
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
#вопросы_с_собеседований
🤔 Что будет, если в static блоке кода возникнет исключение?
Если в static блоке кода возникнет исключение, то это приведет к ошибке инициализации класса.
Static блок выполняется при загрузке класса, и любые исключения в нем приведут к сбою и невозможности загрузить класс.
Поэтому нужно либо обрабатывать исключения в static блоке, либо избегать кода, который может привести к исключениям.
Лучше выносить в static блок только простую инициализацию, а сложную логику помещать в конструктор или методы класса.
👩💻
@javaquiz
🤔 Что будет, если в static блоке кода возникнет исключение?
Если в static блоке кода возникнет исключение, то это приведет к ошибке инициализации класса.
Static блок выполняется при загрузке класса, и любые исключения в нем приведут к сбою и невозможности загрузить класс.
Поэтому нужно либо обрабатывать исключения в static блоке, либо избегать кода, который может привести к исключениям.
Лучше выносить в static блок только простую инициализацию, а сложную логику помещать в конструктор или методы класса.
👩💻
@javaquiz
👍2