Java Learning
18.6K subscribers
1.62K photos
1 video
3 files
999 links
№ 5079899194

Обучающий канал по Java

Ссылка для друга - https://t.iss.one/+ZEYYht6-46w5MDM6

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/Java_per_month
Download Telegram
#вопросы_с_собеседований
🤔 Что будет, если в static блоке кода возникнет исключение?

Если в static блоке кода возникнет исключение, то это приведет к ошибке инициализации класса.
Static блок выполняется при загрузке класса, и любые исключения в нем приведут к сбою и невозможности загрузить класс.

Поэтому нужно либо обрабатывать исключения в static блоке, либо избегать кода, который может привести к исключениям.
Лучше выносить в static блок только простую инициализацию, а сложную логику помещать в конструктор или методы класса.


Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
⚖️ 👩‍💻 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/3N55sV

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
➡️ Использование библиотеки Jodd для упрощения повседневных задач в Java

Jodd — это набор утилит и инструментов для Java, который содержит множество полезных компонентов для работы с JSON, HTTP, Email, файловой системой и многим другим. В отличие от узкоспециализированных библиотек, Jodd предоставляет универсальные и лёгкие в использовании утилиты для повседневных задач.

Jodd — отличный выбор, если вам нужен набор небольших и эффективных инструментов для решения повседневных проблем в Java-программировании.

🔗 Ссылочка на доку

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥3
➡️ Использование метода formatted для более простого форматирования строк (Java 15+)

Метод formatted — это новая функция, появившаяся в Java 15, которая позволяет легко форматировать строки. Этот метод является лаконичной и более читабельной альтернативой методу String.format(). Теперь вы можете напрямую вызывать метод форматирования на строковом литерале или объекте String.

• formatted упрощает форматирование строк, делая код более компактным и понятным.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
➡️ Использование библиотеки joor для упрощенной работы с рефлексией в Java

Joor — это легковесная библиотека для работы с рефлексией в Java, которая значительно упрощает использование этого мощного механизма.

✔️ Она предоставляет удобный API для создания экземпляров, вызова методов и доступа к полям классов, делая код более читаемым и компактным.

🔗 Ссылочка на доку

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
Класс Unsafe

Класс Unsafe — это мощный, но опасный инструмент, который позволяет выполнять низкоуровневые операции с памятью и внутренними механизмами JVM. Его использование не рекомендуется для обычных задач веб-разработки или стандартных приложений, но он может быть полезен в специфических ситуациях, требующих высокой производительности и обхода стандартных механизмов Java.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤‍🔥1
Метод isDaemon()

Метод isDaemon() используется для определения, является ли поток демоном или нет.

Демон (daemon) — это поток, который работает в фоновом режиме и не препятствует завершению программы. Основная программа может завершиться, даже если демон все еще выполняется.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Что будет выведено при выполнении кода?

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Ответ:
Anonymous Quiz
11%
248
15%
4
7%
8
67%
48
👍14🔥1
Что такое Lambda-выражения?

Лямбда-выражения — это способ написать анонимные функции (или функциональные объекты) в Java. Они были введены в Java 8 и позволяют передавать поведение как аргументы в методы.

🗣 Лямбда-выражения значительно упрощают работу с такими функциональными интерфейсами, как Runnable, Callable, Comparator и многими другими.

✔️ Преимущества Lambda-выражений

Краткость: Лямбда-выражения позволяют писать меньше кода.
Читаемость: Код становится более читабельным и понятным.
Поддержка функциональных интерфейсов: Лямбда-выражения работают с функциональными интерфейсами, делая работу с ними проще и интуитивно понятной.
Повышенная производительность: В некоторых случаях лямбда-выражения могут улучшить производительность за счёт оптимизаций, выполненных компилятором.

Java Learning 👩‍💻
👍10❤‍🔥1
Byte Buddy

Byte Buddy — это библиотека Java для генерации байт-кода во время выполнения. Она позволяет создавать новые классы, модифицировать существующие и перехватывать вызовы методов.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
uniVocity-parsers

uniVocity-parsers — это набор высокопроизводительных и надежных парсеров для Java. Он предлагает унифицированный интерфейс для работы с различными форматами файлов, а также надежную инфраструктуру для разработки новых парсеров.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
⚙️ Files.move()

В Java метод Files.move() из пакета java.nio.file используется для переименования или перемещения файла/директории. Он является мощным инструментом для работы с файловой системой.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
➡️ Использование Chronicle Map для распределенных ключ-значение хранилищ

Chronicle Map — это мощный инструмент для создания распределенных хранилищ "ключ-значение" с высокой производительностью. Поддерживает работу с большими объемами данных в реальном времени и отлично подходит для высоконагруженных систем.

Поддерживает распределенные хранилища.
Минимальная задержка, высокая производительность.
Идеальна для финансовых и IoT-приложений.

🔗 Ссылочка на доку

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Вопрос на собеседовании

Что такое функциональный интерфейс в Java, и как он используется в лямбда-выражениях?

Ответ ⬇️
Функциональный интерфейс в Java — это интерфейс с единственным абстрактным методом, который может использоваться как целевая конструкция для лямбда-выражений и ссылок на методы. Они помогают писать более чистый и выразительный код, позволяя передавать поведение (функции) как параметры. Аннотация @FunctionalInterface проверяет, что интерфейс соответствует требованиям функционального интерфейса и помогает избежать случайного добавления методов.

Пример использования ⚙️
@FunctionalInterface
interface MyFunctionalInterface {
void printMessage(String message);
}

public class Main {
public static void main(String[] args) {
MyFunctionalInterface printer = message -> System.out.println("Сообщение: " + message);
printer.printMessage("Привет, мир!"); // Сообщение: Привет, мир!
}
}


Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14
⚙️ Collections.reverse()

В Java метод Collections.reverse() изменяет порядок элементов в списке на обратный. Это удобно для работы с коллекциями, где требуется обратный порядок.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
➡️ Feign: Секрет быстрого и чистого вызова REST API в Java

Feign – библиотека для Java, автоматизирующая вызов REST API. Она сокращает код, создавая запросы и обрабатывая исключения без лишних конструкций. Идеально подходит для работы с несколькими API и упрощает тестирование.

Автоматическая генерация кода для вызова API, избавляя от рутины.
Лёгкость тестирования и расширяемость при добавлении новых API.

🔗 Ссылочка на доку

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
⚙️ Optional.ofNullable()

В Java метод Optional.ofNullable() создаёт объект Optional, который может содержать значение или быть пустым. Полезен для избежания NullPointerException и обработки необязательных значений.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
#Вопросы_с_собеседования
В чем разница между Thread.sleep() и Thread.yield()?

Thread.sleep(): Этот метод приостанавливает выполнение текущего потока на заданное количество времени. Время задается в миллисекундах и указывается в качестве аргумента метода. При вызове Thread.sleep(), поток переходит в состояние ожидания и не выполняет код в течение указанного периода времени. После истечения времени поток снова становится готовым к выполнению. Вызов Thread.sleep() может сгенерировать исключение InterruptedException, поэтому необходимо обрабатывать его или пробрасывать.

Thread.yield(): Этот метод предоставляет намек планировщику потоков на то, что поток, вызвавший yield(), готов уступить процессорное время другим потокам с тем же приоритетом. Однако это рекомендация, а не гарантия. Вызов Thread.yield() приводит к тому, что текущий поток переходит из исполняемого в состояние готовности, чтобы другие потоки могли получить доступ к процессору. Однако, если нет других готовых потоков с тем же приоритетом, поток может продолжить выполнение.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
⚙️ Collectors.joining()

В Java метод Collectors.joining() из пакета java.util.stream позволяет объединить элементы потока в одну строку с опциональным разделителем, префиксом и суффиксом. Это удобно для создания строковых представлений коллекций.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤‍🔥2