Библиотека задач по 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
加入频道
⚡️Proglib запускает канал про ИИ для генерации звука

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

⭐️генерация голоса и музыки
⭐️замена и перевод речи
⭐️распознавание звуков

👉Подписывайтесь!
Please open Telegram to view this post
VIEW IN TELEGRAM
Задача

Напишите программу, которая проверяет, ввел что-либо пользователь или нет.

Ответ на картинке.
Задача

Напишите программу, которая проверяет, ввел что-либо пользователь или нет.

Ответ на картинке.
Узнаем количество файлов в папке

В данном примере мы задаем путь к папке, получаем список файлов в этой папке с помощью метода listFiles(), а затем выводим количество файлов в папке с помощью свойства length массива файлов.
Реализуйте в Java собственную реализацию синглтона (singleton). Напишите код и объясните, как работает ваша реализация, а также какие проблемы могут возникнуть при использовании синглтона и как вы можете их решить.

Объяснение:

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

— Приватный конструктор: Конструктор класса сделан приватным, чтобы избежать создания экземпляров снаружи класса.
— Статический метод getInstance: Метод getInstance является статическим, чтобы можно было вызывать его без создания экземпляра класса. Внутри метода используется ленивая инициализация, то есть экземпляр создается только при первом вызове метода getInstance.
— Синхронизация: В рассмотренной реализации используется ключевое слово synchronized для обеспечения потокобезопасности при первом создании экземпляра. Однако это может сказаться на производительности. Существуют и другие подходы к обеспечению потокобезопасности, такие как использование volatile или двойной проверки.

Проблемы синглтона и их решения:

— Ленивая инициализация: В данной реализации используется ленивая инициализация, что может вызвать проблемы в многопоточной среде.
Решение: использование volatile или двойной проверки на null для обеспечения безопасной ленивой инициализации.
— Сериализация: При сериализации и десериализации синглтона могут возникнуть проблемы, поскольку каждая десериализация создаст новый объект.
Решение: переопределить методы readResolve и writeReplace для управления процессом сериализации и десериализации.
— Тестирование: Трудно провести тестирование, так как синглтон предоставляет глобальную точку доступа.
Решение: использование dependency injection (внедрение зависимостей) для более гибкого тестирования.
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

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

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Что выведет код сверху?
Anonymous Quiz
7%
1
57%
2
5%
3
3%
4
28%
Error