Size: a a a

Библиотека джависта

2020 March 06
Библиотека джависта
Видеокурс из 10 видео для тех, кто хорошо знает Java и хочет изучить Kotlin.

https://youtu.be/bmJkM23D9rw
источник
2020 March 07
Библиотека джависта
#вопросы_с_собеседований
Что такое «монитор» в Java?
источник
Библиотека джависта
Монитор, мьютекс (mutex) – это средство обеспечения контроля за доступом к ресурсу. У монитора может быть максимум один владелец в каждый текущий момент времени. Следовательно, если кто-то использует ресурс и захватил монитор для обеспечения единоличного доступа, то другой, желающий использовать тот же ресурс, должен подождать освобождения монитора, захватить его и только потом начать использовать ресурс.

Удобно представлять монитор как id захватившего его объекта. Если этот id равен 0 – ресурс свободен. Если не 0 – ресурс занят. Можно встать в очередь и ждать его освобождения.

В Java у каждого экземпляра объекта есть монитор, который контролируется непосредственно виртуальной машиной. Используется он так: любой нестатический synchronized-метод при своем вызове прежде всего пытается захватить монитор того объекта, у которого он вызван (на который он может сослаться как на this). Если это удалось – метод исполняется. Если нет – поток останавливается и ждет, пока монитор будет отпущен.
источник
2020 March 08
Библиотека джависта
#вопросы_с_собеседований
Для чего нужен метод hashCode()?
источник
Библиотека джависта
Метод hashCode() необходим для вычисления хэш кода переданного в качестве входного параметра объекта. В Java это целое число, в более широком смыле — битовая строка фиксированной длины, полученная из массива произвольной длины. Этот метод реализован таким образом, что для одного и того же входного объекта, хэш код всегда будет одинаковым. Следует понимать, что в Java множество возможных хэш кодов ограничено типом int, а множество объектов ничем не ограничено. Из-за этого, вполне возможна ситуация, что хэш коды разных объектов могут совпасть.

Если хэш коды разные, то и объекты гарантированно разные;
если хэш коды равны, то объекты могут не обязательно равны.
источник
2020 March 09
Библиотека джависта
#вопросы_с_собеседований
Приведите примеры структурных шаблонов проектирования.
источник
Библиотека джависта
Адаптер (Adapter) — объект, обеспечивающий взаимодействие двух других объектов, один из которых использует, а другой предоставляет несовместимый с первым интерфейс.
Мост (Bridge) — структура, позволяющая изменять интерфейс обращения и интерфейс реализации класса независимо.
Компоновщик (Composite) — объект, который объединяет в себе объекты, подобные ему самому.
Декоратор (Decorator) — класс, расширяющий функциональность другого класса без использования наследования.
Фасад (Facade) — объект, который абстрагирует работу с несколькими классами, объединяя их в единое целое.
Приспособленец (Flyweight) — это объект, представляющий себя как уникальный экземпляр в разных местах программы, но по факту не являющийся таковым.
Заместитель (Proxy) — объект, который является посредником между двумя другими объектами, и который реализует/ограничивает доступ к объекту, к которому обращаются через него.
источник
2020 March 10
Библиотека джависта
Уроки программирования на Java для создания Android-приложений.

https://youtu.be/gYylK8NudWA
источник
Библиотека джависта
Java Design Patterns: A Hands-On Experience with Real-World Examples (2019)

В книге автор делится опытом реализаций 26 наиболее распространённых шаблонов проектирования с использованием Java и Eclipse. Для каждого шаблона вы увидите по крайней мере один вариант использования в реальном проекте и полную реализацию. Книга написана для опытных разработчиков, использующих Java.
источник
Библиотека джависта
источник
2020 March 11
Библиотека джависта
Spring Boot — это полезный проект, целью которого является упрощение создания приложений на основе Spring. Он позволяет наиболее простым способом создать web-приложение, требуя от разработчиков минимум усилий по его настройке и написанию кода. Видеокурс по Spring Boot для желающих начать изучение:

https://youtu.be/FyZFK4LBjj0
источник
Библиотека джависта
Видео о тонкостях использования IntelliJ IDEA и ее возможностях.

https://youtu.be/yefmcX57Eyg
источник
2020 March 12
Библиотека джависта
#вопросы_с_собеседований
Правила переопределения метода Object.equals().
источник
Библиотека джависта
Помогаем строить карьеру Java-разработчика за 6 месяцев. Это единственная программа в РФ, где выпускники платят за подготовку только после трудоустройства. Если не найдешь работу, то ты ничего не должен. Необходимо пройти отбор.

Получить тестовое задание можно тут 🙋‍♂️👉 https://clck.ru/MQwZ6

Мы будем вести тебя до первого рабочего дня и даже больше.
• Карьерная поддержка после трудоустройства еще 2 года
• Каждый наш выпускник получает около 5 предложений о работе.
• А средняя зарплата уже в первый год после выпуска, примерно, 140 000 рублей.

За свою работу мы попросим 17%  процентов от зарплаты разработчика. У нас нет скрытых условий или кредитов. Мы подготовим тебя к трудоустройству и ты заплатишь только за результат.

От тебя мы ждем:
1️⃣ Возможность уделять учебе минимум 25 часов в неделю
2️⃣ Проживание или готовность к переезду в Москву для трудоустройства
источник
Библиотека джависта
Правила переопределения метода Object.equals().
1. Использование оператора == для проверки, является ли аргумент ссылкой на указанный объект. Если является, возвращается true. Если сравниваемый объект == null, должно вернуться false.
2. Использование оператора instanceof и вызова метода getClass() для проверки, имеет ли аргумент правильный тип. Если не имеет, возвращается false.
3. Приведение аргумента к правильному типу. Поскольку эта операция следует за проверкой instanceof, она гарантированно будет выполнена.
4. Обход всех значимых полей класса и проверка того, что значение поля в текущем объекте и значение того же поля в проверяемом на эквивалентность аргументе соответствуют друг другу. Если проверки для всех полей прошли успешно, возвращается результат true, в противном случае - false.
По окончанию переопределения метода equals() следует проверить: является ли порождаемое отношение эквивалентности рефлексивным, симметричным, транзитивным и непротиворечивым? Если ответ отрицательный, метод подлежит соответствующей правке.
источник
2020 March 13
Библиотека джависта
#вопросы_с_собеседований
1. Если equals() переопределен, есть ли какие-либо другие методы, которые следует переопределить?
источник
Библиотека джависта
Курс по разработке приложений под Android для начинающих.

https://youtu.be/TWS4WAVqGN0
источник
Библиотека джависта
13 марта в 20:00 мск OTUS приглашает на открытый вебинар «Selenoid. Параллельный запуск ui-тестов».

Вебинар бесплатный, но пройдет в рамках набора на онлайн-курс «Java QA Automation Engineer».
Пройдите вступительный тест - и вам напомнят о вебинаре заранее: https://otus.pw/OSTn/

Selenoid. Параллельный запуск ui-тестов
Пройдемся по основным возможностям Selenoid, обсудим как этот инструмент решает проблемы запуска тестов в браузерах.

Подключайтесь 13 марта, будет интересно и профессионально.
источник
Библиотека джависта
Доклад о задержках в микросервисах и соответствующих факторах, влияющих на производительность.

https://youtu.be/QV-ue1YMdds
источник
2020 March 14
Библиотека джависта
Вопрос: если equals() переопределен, есть ли какие-либо другие методы, которые следует переопределить?
Ответ: равные объекты должны возвращать одинаковые хэш-коды. При переопределении equals() нужно обязательно переопределять и метод hashCode().
источник