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
Mockito

Mockito — это фреймворк для создания заглушек (mocks) в Java. Заглушки — это имитаторы реальных объектов, которые используются при тестировании кода.

Зачем использовать Mockito?

С помощью Mockito вы можете легко создавать заглушки для сложных объектов, что позволяет вам сосредоточиться на тестировании конкретного фрагмента кода. Также заглушки Mockito позволяют вам имитировать различные сценарии, что помогает вам написать более надежные тесты.

#для_продвинутых
👍16
Jackson

Jackson — это популярная библиотека Java для сериализации и десериализации объектов Java в различные текстовые форматы, такие как JSON, XML, YAML и CSV.

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

Jackson поддерживает широкий спектр функций и возможностей, что позволяет настроить его под ваши конкретные нужды. А также его можно расширить с помощью модулей для поддержки дополнительных форматов данных и функций.

#для_продвинутых
👍20
Apache POI

Apache POI – это библиотека с открытым исходным кодом для работы с форматами файлов Microsoft Office в Java.

Она позволяет читать, создавать и редактировать файлы Excel, Word, PowerPoint и другие.

#для_начинающих
👍29
Библиотека Apache Commons BeanUtils

Apache Commons BeanUtils — это набор утилит для работы с Java-бинами в проектах на Java. Java-бин — это простой класс Java, который следует определенным соглашениям:

Он имеет поля (атрибуты) для хранения данных.
Он предоставляет методы доступа (геттеры и сеттеры) для чтения и записи значений этих полей.
Обычно он имеет пустой конструктор по умолчанию.

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

#для_продвинутых
👍9🤔1
Apache Commons Lang3

Apache Commons Lang3 — это библиотека Java, предоставляющая набор утилит для работы с базовыми классами Java, такими как String, Object, Collection и др.

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

#для_продвинутых
👍15
Fastjson

Fastjson — это высокопроизводительная библиотека Java, предназначенная для преобразования объектов Java в JSON и наоборот. Она легкая, быстрая и простая в использовании.

#для_начинающих
👍20
SLF4J

SLF4J (Simple Logging Facade for Java) — это библиотека для логирования, предоставляющая простой и унифицированный интерфейс для работы с различными системами логирования в Java.

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

#для_продвинутых
👍163
OkHttp

OkHttp — это эффективная библиотека HTTP-клиента с открытым исходным кодом для Java и Kotlin, разработанная Square. Она обеспечивает простой и удобный API для выполнения HTTP-запросов, включая поддержку протоколов HTTP/1.1 и HTTP/2.

#для_продвинутых
👍191
Retrofit

Retrofit — это популярная библиотека Java, которая упрощает взаимодействие с REST API. Она позволяет легко создавать HTTP-запросы, получать и обрабатывать ответы, а также сериализовать и десериализовать данные.

Retrofit генерирует типы Java на основе интерфейсов API, что обеспечивает безопасность типов и упрощает работу с данными. Также имеет простой и понятный API, который позволяет легко начать работу. Его можно легко расширить с помощью конвертеров, интерцепторов и других компонентов.

#для_продвинутых
👍13😁3
Hystrix

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

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

#для_продвинутых
👍201
Resilience4j

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

Resilience4j предоставляет декораторы, которые можно использовать для обертывания функциональных интерфейсов, лямбда-выражений или ссылок на методы. Эти декораторы добавляют к обернутому коду функциональность отказоустойчивости.

#для_продвинутых
👍11
Что такое Apache Commons Net?

Apache Commons Net — это библиотека Java с открытым исходным кодом, которая реализует клиентскую часть многих основных интернет-протоколов.

Цель библиотеки:
— Предоставить базовый доступ к протоколам, а не высокоуровневые абстракции.
— Сделать разработку сетевых приложений Java более простой и удобной.

Как использовать Apache Commons Net?

1. Добавьте библиотеку в свой проект.
2. Включите необходимые пакеты в ваш код.
3. Создайте экземпляр класса, соответствующего нужному протоколу.
4. Используйте методы класса для взаимодействия с протоколом.

#для_продвинутых
👍14
Алгоритм Бойера-Мура-Хорспула

Данный алгоритм также известен под названием алгоритм Бойера-Мура-Хорспула. Процедура алгоритма очень простая. Сначала строится таблица смещений для каждого символа. Затем исходная строка и шаблон совмещаются по началу, сравнение ведется по последнему символу.

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

И так далее, пока не шаблон полностью не совпадет с подстрокой исходной строки, или не будет достигнут конец строки.

#для_продвинутых
👍10😱2
Какой из этих методов возвращает описание исключения?
Anonymous Quiz
21%
getException()
63%
getMessage()
5%
obtainDescription()
6%
obtainException()
6%
Посмотреть ответ
👍15
Жадный алгоритм

Жадный алгоритм (greedy algorithm) — это алгоритм, который на каждом шаге делает локально оптимальный выбор, в надежде, что итоговое решение будет оптимальным.

Алгоритм работает следующим образом:


Инициализируем minPrice максимальным значением. Затем перебираем все цены акций. На каждом шаге обновляем minPrice, если текущая цена меньше, чем minPrice, и maxProfit, если разница между текущей ценой и minPrice больше, чем maxProfit. Возвращаем maxProfit.

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

#для_продвинутых
👍141
Сортировка расческой

Сортировка расческой (Comb sort) — алгоритм сортировки, являющийся улучшенной версией сортировки пузырьком. Он работает быстрее, чем сортировка пузырьком, но медленнее, чем более продвинутые алгоритмы, такие как быстрая сортировка.

1. Начинаем с шага, равного длине массива.
2. Сравниваем элементы массива, находящиеся на расстоянии шаг друг от друга.
3. Если элемент слева больше, чем элемент справа, то мы их переставляем.
4. Уменьшаем шаг, деля его на 1.3 (или другую константу).
5. Повторяем шаги 2-4, пока шаг не станет меньше 1.

#для_продвинутых
👍12
Fluent Interface

Fluent Interface (Текучий интерфейс) — это шаблон проектирования, который позволяет создавать код, читающийся как текст на естественном языке.

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

#для_продвинутых
👍19
Worker Thread

Worker Thread (рабочий поток) — это обычный поток, который выполняет задачи в фоновом режиме, отдельно от главного потока приложения.

Использование Worker Thread:

— Worker Threadы отлично подходят для выполнения длительных задач, которые не должны блокировать главный поток.
— Отделение длительных задач от главного потока позволяет сохранить отзывчивость интерфейса пользователя.
— Распределение задач между несколькими Worker Threadами может повысить производительность приложения, особенно на многоядерных процессорах.

#для_начинающих
👍15😱1