Библиотека задач по Java | тесты, код, задания
前往频道在 Telegram
Задачи и тесты по Java для тренировки и обучения. По рекламе: @proglib_adv Учиться у нас: clc.to/KV5NkA Для обратной связи: @proglibrary_feeedback_bot
显示更多5 663
订阅者
-324 小时
-27 天
-2530 天
帖子存档
🎮Новый канал по разработке игр
Мы наконец-то запустили канал по разработке игр — теперь все самое важное и полезное из мира геймдева можно узнать в одном месте.
👉Подписаться
Какие типы ссылок на объекты существуют в Java?
👀Что из этого сгенерировала нейросеть?
Подписывайтесь на наш новый канал про нейросети для создания изображений, там есть:
🌸Новые нейросети и инструменты, например, вот модель генерирует картинки по наброску
🌸Промты для разных задач
🌸Лайфхаки по использованию нейросетей
👉Подписывайтесь!
Какие промежуточные методы работы со стримами вы знаете?
filter() отфильтровывает записи, возвращая только записи, соответствующие условию;
skip() позволяет пропустить определённое количество элементов в начале;
distinct() возвращает стрим без дубликатов (для метода equals());
map() преобразует каждый элемент;
peek() возвращает тот же стрим, применяя к каждому элементу функцию;
limit() позволяет ограничить выборку определенным количеством первых элементов;
sorted() позволяет сортировать значения либо в натуральном порядке, либо задавая Comparator;
mapToInt(), mapToDouble(), mapToLong() — аналоги map() возвращающие стрим числовых примитивов;
flatMap(), flatMapToInt(), flatMapToDouble(), flatMapToLong() — похожи на map(), но могут создавать из одного элемента несколько.
Для числовых стримов дополнительно доступен метод mapToObj(), который преобразует числовой стрим обратно в объектный.
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Реализуйте в Java собственную реализацию синглтона (singleton). Напишите код и объясните, как работает ваша реализация, а также какие проблемы могут возникнуть при использовании синглтона и как вы можете их решить.
Объяснение:
Синглтон — это паттерн проектирования, который гарантирует, что у класса есть только один экземпляр, и предоставляет глобальную точку доступа к этому экземпляру. Реализация синглтона должна предотвращать создание нескольких экземпляров и предоставлять способ доступа к единственному экземпляру.
— Приватный конструктор: Конструктор класса сделан приватным, чтобы избежать создания экземпляров снаружи класса.
— Статический метод getInstance: Метод getInstance является статическим, чтобы можно было вызывать его без создания экземпляра класса. Внутри метода используется ленивая инициализация, то есть экземпляр создается только при первом вызове метода getInstance.
— Синхронизация: В рассмотренной реализации используется ключевое слово synchronized для обеспечения потокобезопасности при первом создании экземпляра. Однако это может сказаться на производительности. Существуют и другие подходы к обеспечению потокобезопасности, такие как использование volatile или двойной проверки.
Проблемы синглтона и их решения:
— Ленивая инициализация: В данной реализации используется ленивая инициализация, что может вызвать проблемы в многопоточной среде.
Решение: использование volatile или двойной проверки на null для обеспечения безопасной ленивой инициализации.
— Сериализация: При сериализации и десериализации синглтона могут возникнуть проблемы, поскольку каждая десериализация создаст новый объект.
Решение: переопределить методы readResolve и writeReplace для управления процессом сериализации и десериализации.
— Тестирование: Трудно провести тестирование, так как синглтон предоставляет глобальную точку доступа.
Решение: использование dependency injection (внедрение зависимостей) для более гибкого тестирования.
Yandex DEVent PRO в Питере
Это серия офлайн-митапов для опытных бэкендеров от команды Поиска и Рекламных технологий. Здесь можно в закрытом формате познакомиться с лидами из других команд, обменяться опытом и пообщаться.
В этот раз митап пройдёт в Санкт-Петербурге 19 июня: будет настоящее раздолье для нетворкинга, а ещё обсуждение горячих и спорных тем по разработке в формате speed dating.
Спикеры и доклады:
🟡Константин Гудков, руководитель группы разработки Feature store. Расскажет о процессе создания Feature Store — интерфейса для работы с данными, который используется ML-моделями в Рекламе
🟡Сергей Скворцов, руководитель службы поискового райнтайма. Обсудит, как анализировать производительность нативных программ под Linux под нагрузкой с помощью Perforator
🟡Николай Савушкин, руководитель службы рекомендательных технологий. Расскажет о Real-time processing в рекомендательных системах Яндекса
А после докладов вас ждёт афтерпати: кальяны, аэрохоккей и прочие активности!
Узнать подробную информацию и зарегистрироваться можно по ссылке.
Ждём вас!
Реклама. ООО "Яндекс", ИНН 7736207543.
