Библиотека джависта | Java, Spring, Maven, Hibernate
24.9K subscribers
1.86K photos
38 videos
42 files
2.64K links
Все самое полезное для Java-разработчика в одном канале.

Список наших каналов: https://yangx.top/proglibrary/9197

Обратная связь: @proglibrary_feedback_bot

По рекламе: @proglib_adv

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
加入频道
Gradle

Это инструмент автоматизации сборки, который в основном используется в Android-разработке. Популярная альтернатива Ant и Maven.

Gradle позволяет определять и управлять зависимостями проекта, запускать модульные тесты и упаковывать приложение для развертывания. Gradle также имеет систему плагинов, которая позволяет добавлять функциональные возможности и настраивать процесс сборки.
#код
CompletableFuture

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

Основные возможности CompletableFuture включают:

— Вы можете запустить задачу асинхронно и продолжить выполнение кода без блокировки.
— CompletableFuture позволяет комбинировать результаты нескольких задач, выполняя определенные действия при завершении каждой задачи.
— Вы можете указать обработчики ошибок для обработки исключений, возникающих во время выполнения задачи.
— Вы можете блокировать выполнение кода и ждать завершения задачи.
#код
Метод isPowerOfTwo()

Метод isPowerOfTwo() используется для проверки, является ли число степенью двойки.

Этот метод полезен при работе с битовыми операциями и оптимизации алгоритмов.
#код
🤖 Машинное обучение: что это такое и как оно работает

В вводной статье рассказали, из каких компонентов состоит машинное обучение, какие алгоритмы в нём используются и что за задачи решают.

👉Читать статью
Метааннотации

Метааннотации используются для предоставления дополнительной информации о классах, методах и полях.

Они позволяют влиять на работу компилятора, среды выполнения и других инструментов без изменения самого кода.

Метааннотации добавляются перед объявлением класса, метода или поля и заключаются в символы @.

Например, метааннотация Deprecated помечает элемент устаревшим.

Метааннотация SuppressWarnings отключает предупреждения компилятора.
#код
Блокирующий метод

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

При вызове блокирующего метода поток переходит в состояние ожидания и не выполняет других операций.

Метод блокирует поток до тех пор, пока не произойдет нужное событие, например данные не будут доступны для чтения.
Чтобы избежать блокировки всего приложения, блокирующие вызовы обычно заворачивают в отдельные потоки.

Например, метод readLine() блокирует поток до тех пор, пока пользователь не введет строку и не нажмет Enter.
После ввода данных метод возвращает управление потоку и программа выводит введенную строку.

Таким образом, блокирующий вызов позволяет приостановить выполнение кода до наступления нужного события.
#код
Если оператор return содержится и в блоке catch и в finally, какой из них «главнее»?

Если оператор return встречается как в блоке catch, так и в блоке finally, то return в блоке finally имеет больший приоритет и будет выполнен в любом случае.

Порядок выполнения такой конструкции будет следующий:
— Выполняется код в теле try.
— Если возникает исключение, управление передается в блок catch.
— В блоке catch может выполниться return, возвращающий значение из метода.
— Далее обязательно выполнится блок finally, даже если в catch уже был return.
— Если в finally есть оператор return, он перезапишет любое значение, возвращаемое ранее.
— Метод вернет значение, указанное в return блока finally.
#вопросы_с_собеседований
🔟🏢 ТОП-10 российских IT-работодателей

Рейтинг работодателей, которые могут конкурировать по условиям труда с лидерами рынка.

Читать статью

#почитать
Anonymous Inner Class

Anonymous Inner Class (Анонимный Внутренний Класс) — это специальный тип внутреннего класса, который определяется без имени и создается «на лету» внутри блока кода или выражения. Он является удобным способом создания классов, когда класс нужен только для реализации какого-то интерфейса или абстрактного класса, и нет необходимости создавать отдельный именованный класс.

Анонимные внутренние классы обычно используются для создания объектов, которые реализуют интерфейсы или наследуются от абстрактных классов. Они часто используются в событийном программировании и обработке событий в пользовательском интерфейсе, где нужно определить обратный вызов (callback) или обработчик (handler) на месте.
#код
Сеттеры

В Java сеттеры (setters) являются методами класса, которые используются для установки значений приватных переменных (полей) класса. Они обеспечивают механизм инкапсуляции данных, позволяя контролировать доступ к полям класса и обеспечивать безопасность данных.
#код
Существует ли возможность перенаправить потоки стандартного ввода/вывода?

Да, в Java есть возможность перенаправить стандартные потоки ввода/вывода. Это можно сделать с помощью класса System и его методов setIn(), setOut() и setErr().

Таким образом можно гибко управлять вводом/выводом приложения, не меняя исходный код. Это полезно для логирования, unit-тестирования и в других случаях.
#вопросы_с_собеседований
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.