Объединение двух массивов
Наиболее лаконичный способ объединить элементы двух массивов – это воспользоваться классом ArrayUtils из Commons Lang.
Подробнее можно ознакомиться здесь.
Какие существуют особенности использования вложенных классов: статических и внутренних? В чем заключается разница между ними?
☕️ Вложенные классы могут обращаться ко всем членам обрамляющего класса, в том числе и приватным.
☕️ Для создания объекта статического вложенного класса объект внешнего класса не требуется.
☕️ Из объекта статического вложенного класса нельзя обращаться к не статическим членам обрамляющего класса напрямую, а только через ссылку на экземпляр внешнего класса.
☕️ Обычные вложенные классы не могут содержать статических методов, блоков инициализации и классов. Статические вложенные классы - могут.
☕️ В объекте обычного вложенного класса хранится ссылка на объект внешнего класса. Внутри статической такой ссылки нет. Доступ к экземпляру обрамляющего класса осуществляется через указание .this после его имени. Например: Outer.this.
#вопросы_с_собеседований
FileOutputStream vs. FileWriter
Запись файлов на Java осуществляется двумя способами: FileOutputStream и FileWriter. Какой именно метод выбрать, зависит от конкретной задачи.
FileOutputStream предназначен для записи потоков необработанных байтов. Это делает его идеальным решением для работы, например, с изображениями.
У FileWriter другое призвание: работа с потоками символов. Так что если вы пишете текстовые файлы, выбирайте этот метод.
✍️ «Библиотека программиста» находится в поиске переводчика технических статейОбязанности
• Перевод технических статей, документации и руководств с английского на русский язык.
• Редактирование и корректура переведенных текстов для обеспечения высокого качества и своевременной доставки переводов.
Что значит редактирование? Просто так взять DeepL и слово в слово перевести статью не получится?
• Не получится. Как правило, 10–40% текста — «вода». Переводчик должен убрать все лишнее и оставить главное, чтобы читатель не тратил время на чтение «забавной истории из жизни моего питомца, который внес неоценимый вклад в написание данного материала».
Мы предлагаем
• Удаленку.
• Официальное трудоустройство.
• Своевременную оплату за выполненную работу.
➡️ Заполнить анкету ⬅️
Я хорошо программирую, но пишу «так себе». Что делать?
Если вы хорошо программируете, но навыки письма немного отстают, пройдите наш бесплатный курс на Степике «Статьи для IT: как объяснять и распространять значимые идеи».
Получи оффер за выходные
Дзен — это высоконагруженный сервис, в который приходит до 150 тысяч запросов в секунду и от 30 миллионов пользователей каждый день. В команде пишут на языках Java 17, C++, Python и Go, а релизятся несколько раз в день.
8-9 июля Дзен приглашает backend-разработчиков на Hiring Days. Что самое крутое — если случится мэтч, оффер выдадут прямо за выходные. И да, всё онлайн!
Зарегистрироваться можно по ссылке до 5 июля.
Как не допустить сериализацию?
Чтобы не допустить автоматическую сериализацию можно переопределить private методы для создания исключительной ситуации NotSerializableException.
Любая попытка записать или прочитать этот объект теперь приведет к возникновению исключительной ситуации.
#код
Что такое метааннотации?
Аннотации, которые применяются к другим аннотациям. Все аннотации, которые не отмечены @Target или отмечены им, но содержат константу ANNOTATION_TYPE, также являются мета-аннотациями.
#код
Java-разработчик — как архитектор Эйфелевой башни. Он создаёт сервисы и приложения, которые должны выдержать огромное количество посетителей — стриминговые сервисы, маркет-плейсы и другие. Разработчик, как архитектор, мыслит творчески: придумывать, как будет выглядеть и работать его проект. А каждая его идея отражается на пользователях.
Если вам интересно работать на стыке творчества и технологии — попробуйте java-разработку. Это можно сделать бесплатно — во вводной части курса Яндекс Практикума.
Вот что в ней будет:
— Основы языка Java: переменные, условные, выражения и циклы.
— Азы объектно-ориентированного программирования: классы, конструкторы и методы.
— Ваш первый проект на Java — приложение для учёта финансов.
Узнайте, подходит ли вам java-разработка →
Скомпилируется ли код с картинки?
Да, код будет скомпилирован, потому что он следует спецификации функционального интерфейса, определяющей только один абстрактный метод. Второй метод, count, является методом по умолчанию, который не увеличивает количество абстрактных методов.
#вопросы_с_собеседований
Как разбить строку на подстроки по заданному разделителю?
Мы можем использовать метод split(String regex) для разделения строки на массив символов, используя в качестве разделителя регулярное выражение.
Метод split(String regex, int numOfStrings) является перегруженным методом для разделения строки на заданное количество строк. Мы можем использовать обратную черту для использования специальных символов регулярных выражений в качестве обычных символов.
#вопросы_с_собеседований
Java Bean
JavaBeans - это стандартный подход к созданию переносимых и повторно используемых компонентов. Они представляют собой классы, которые следуют определенным соглашениям и обеспечивают удобный способ управления состоянием и поведением объектов.
Основные характеристики JavaBeans:
1. Класс должен быть публичным и иметь открытый конструктор без аргументов.
2. Приватные поля класса должны быть доступны с помощью геттеров и сеттеров (getter и setter методы).
3. Класс должен быть сериализуемым, то есть должен реализовывать интерфейс Serializable.
JavaBeans также могут иметь дополнительные свойства, такие как события и методы уведомления, которые позволяют другим компонентам реагировать на изменения состояния.
🏗️ Ненужная сложность: почему мы неправильно проектируем программное обеспечение
В этой статье расскажем про причины неправильного проектирования ПО и предложим средства для устранения анти-шаблона ненужной сложности.
🔗 Основной сайт
🔗 Зеркало
⚡️Пройди тест по Java ⚡️
💣 Все, кто успешно пройдет тест, получат доступ к записям открытых уроков курса для знакомства с форматом обучения и спец.цену на курс.
Что даст обучение на курсе:
- Сможете создавать современные java-приложения
- Поймете основы функционирования JVM (сборка мусора, byteCode)
- Освоите приемы применения многопоточности.
- Самостоятельно решать задачи уровня Middle+
📌ПРОЙТИ ТЕСТ - https://otus.pw/3tAj/
💪🏻Хочешь протестировать учебный процесс заранее? Регистрируйся на бесплатное демо-занятие:
📢📢 Регистрация на вебинар 21 Июня в 20:00 - «Конечные автоматы»
Нативная интеграция. Информация о продукте www.otus.ru
❓Хотите создавать бэкенд Java-приложений с использованием Groovy? Тогда приходите 27 июня в 20:00 мск на открытый урок «Shared Libraries в Jenkins» в OTUS. На занятии мы посмотрим, как расширять пайплайны в Jenkins с помощью внешних библиотек и научимся их писать.
Встреча приурочена к запуску онлайн-курса «Groovy Developer» в OTUS.
⚡️Спикер: Андрей Поляков, старший разработчик в Unlimint и преподаватель курса.
На занятии мы рассмотрим:
- Подключение библиотек в пайплайнах
- Структуру shared-libraries
- Особенности подключения и глобальные настройки
- Возможности Groovy при написании shared-библиотек
🔥Вебинар будет полезен DevOps-инженерам и Java-разработчикам, которые хотят научиться создавать и настраивать сборки Java Backend проектов.
Для участия зарегистрируйтесь:
https://otus.pw/BUG0/Нативная интеграция. Информация о продукте www.otus.ru
Узнаем IP-адрес своего компьютера
InetAddress.getLocalHost() используется для поиска частных IP - адресов, используемых в локальной сети или любой другой локальной сети.
Подробнее объяснение кода можно найти здесь.