Библиотека задач по Java | тесты, код, задания
5.84K subscribers
567 photos
3 videos
178 links
Задачи и тесты по Java для тренировки и обучения.

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

Учиться у нас: https://proglib.io/w/13eb654a

Работать у нас: https://job.proglib.io/

Наши каналы: https://yangx.top/proglibrary/9197
加入频道
Можно ли использовать private или protected переменные в interface?

Ответ: В Java переменные, объявленные с модификаторами private или protected, не могут быть использованы непосредственно в интерфейсах (interfaces). Интерфейсы содержат только абстрактные методы, константы и методы по умолчанию (default methods), которые все являются public.
Dependency Injection в Spring Framework

Инверсия контроля (inversion of control, IoC) — принцип проектирования, по которому контроль над потоком управления передается фреймворку. Управляющий и прикладной код разделяются. При разработке модуля этот подход избавляет от необходимости знать о других модулях программы и деталях их взаимодействия. Такой код становится более переиспользуемым и модульным, уменьшает связность.

Внедрение зависимостей (Dependency Injection, DI) — одна из реализаций IoC. При взаимодействии с другими модулями, программа оперирует высокоуровневыми абстракциями, тогда как конкретная её реализация поставляется фреймворком.

Стандартная реализация DI — фреймворк инстанциирует все сервисы, и складывает их в IoC-контейнер. При этом специальная сущность, Service Locator, занимается поиском соответствия реализаций абстракциям и их внедрением.

Сущности бизнес-логики в Spring, как и в JavaEE называются beans. Бины объявляются различными способами, корни большинства из них лежат в понятии Configuration. В качестве контейнера бинов выступает ApplicationContext. Чтобы передать инициализацию зависимости контексту, она помечается аннотацией @Autowired.
-35% на курс по алгоритмам

🎄 Новый год начинается с подарков, а хороший подарок для себя — новые знания со скидкой 35%!

🌟«Алгоритмы и структуры данных» — 23 390 ₽ (вместо 35 990 ₽)

Полугодовая программа от преподавателей МФТИ и НИУ ВШЭ, которая включает в себя все необходимые знания по алгоритмам для работы.

Самое ценное — это развернутая обратная связь по всем вашим домашним заданиям, а также ссылки на полезные дополнительные материалы.

У вас не будет шансов не усвоить какие-то темы курса👌

🔥 Переходите и активируйте вводные занятия курсаhttps://proglib.io/w/ff97c30a
Метод startsWith()

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

startsWith() принимает в качестве аргумента строку, с которой нужно проверить, начинается ли исходная строка и возвращает:

true — если исходная строка начинается с заданной подстроки;
false — если исходная строка не начинается с заданной подстроки.
Интерфейс UnaryOperator

Интерфейс UnaryOperator — это функциональный интерфейс, введенный в Java 8 в пакете java.util.function. Этот интерфейс представляет собой оператор, который принимает один аргумент и возвращает результат того же типа, что и входной аргумент. Он представляет унарную операцию, то есть операцию, которая применяется к одному операнду.
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

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

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

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

Метод compareAndSwap() является одним из основных методов атомарных переменных в Java. Он используется для атомарного сравнения значения переменной с ожидаемым значением и, в случае успеха, записи нового значения в переменную.

Метод compareAndSwap() имеет четыре параметра:

объект — объект, в котором находится переменная.
переменная — переменная, значение которой необходимо сравнить и изменить.
ожидаемое значение — ожидаемое значение переменной.
новое значение — новое значение, которое необходимо записать в переменную.

Если значение переменной совпадает с ожидаемым значением, то метод compareAndSwap() изменяет значение переменной на новое. В противном случае метод compareAndSwap() возвращает значение переменной.

Код выше увеличивает значение переменной counter на 1. Если значение переменной counter в момент вызова compareAndSwap() равно 0, то метод успешно изменяет значение переменной на 1 и возвращает значение true. В противном случае метод возвращает false.
Каким термином лучше всего описать отношение между классами Department и Employee?
Anonymous Quiz
18%
Ассоциация
33%
Композиция
38%
Агрегация
3%
Деградация
9%
Ни один из перечисленных
Правильная ли реализация abstract class?
Anonymous Quiz
39%
Да
61%
Нет
ZipOutputStream

ZipOutputStream — это класс в Java, который позволяет создавать архив Zip, добавлять в него файлы и директории, и сохранять его в файловой системе. Он наследует класс DeflaterOutputStream и реализует интерфейс Closeable.

ZipOutputStream (OutputStream out) — создает объект ZipOutputStream, который будет записывать данные в указанный выходной поток.
Класс java.io.OutputStream

Класс java.io.OutputStream является абстрактным суперклассом для всех классов, представляющих выходной поток байтов в Java. Он входит в состав пакета java.io и отвечает за отправку байтов данных в определенное хранилище (sink).

Основные характеристики:
— Абстрактный класс, поэтому нельзя напрямую создавать его объекты.
— Представляет собой поток последовательных байтов.
— Предоставляет методы для записи байтов в это хранилище.
— Не гарантирует сохранения порядка байтов при записи.
— Не закрывает автоматически хранилище при окончании записи.

Основные методы:
— write(byte b): записывает один байт в поток.
— write(byte[] b): записывает массив байтов в поток.
— write(byte[] b, int off, int len): записывает часть массива байтов в поток.
— flush(): сбрасывает буфер потока, принудительно отправляя данные в хранилище.
— close(): закрывает поток и освобождает ресурсы.