Какими свойствами обладает порождаемое equals() отношение эквивалентности?
Рефлексивность: для любой ссылки на значение
Симметричность: для любых ссылок на значения
Транзитивность: для любых ссылок на значения
Непротиворечивость: для любых ссылок на значения
Для любой ненулевой ссылки на значение
👉@BookJava
Рефлексивность: для любой ссылки на значение
x, x.equals(x) вернет true;Симметричность: для любых ссылок на значения
x и y, x.equals(y) должно вернуть true, тогда и только тогда, когда y.equals(x) возвращает true.Транзитивность: для любых ссылок на значения
x, y и z, если x.equals(y) и y.equals(z) возвращают true, тогда и x.equals(z) вернёт true;Непротиворечивость: для любых ссылок на значения
х и у, если несколько раз вызвать х.equals(y), постоянно будет возвращаться значение true либо постоянно будет возвращаться значение false при условии, что никакая информация, используемая при сравнении объектов, не поменялась.Для любой ненулевой ссылки на значение
х выражение х.equals(null) должно возвращать false.👉@BookJava
Сохраняя энергию стартапа.pdf
2.8 MB
📔 Title: Сохраняя энергию стартапа. Как техногиганты ежедневно изобретают будущее и остаются на вершине
#book #RU
🌐 Lang.: Russian
🧔 Author: А. Кантровиц
🕘 Year: 2022
📑 Pages: 310
#️⃣ ISBN: 9785907534360
📝 Description: Большинство компаний, определившись со своими преимуществами, зацикливаются на их совершенствовании, но забывают при этом, что их взгляд обращен в прошлое, а не в будущее. Amazon и другие технологические гиганты (такие как Facebook, Google и Microsoft) всегда работают так, будто каждый день – первый: эти лидеры рынка тратят свое время на переосмысление своих продуктов, а не на то, чтобы бесконечно их улучшать.
Благодаря 130 интервью, проведенным с сотрудниками ведущих IT-компаний, автор этой книги раскрывает секрет успеха технологических гигантов в деловом мире, где нет никаких гарантий, только риск и конкуренция.
Сегодня компании могут выпускать новые продукты с рекордной скоростью – благодаря искусственному интеллекту и облачным вычислениям, – и те, кто застрял в прошлом или остался с...
#book #RU
🌐 Lang.: Russian
🧔 Author: А. Кантровиц
🕘 Year: 2022
📑 Pages: 310
#️⃣ ISBN: 9785907534360
📝 Description: Большинство компаний, определившись со своими преимуществами, зацикливаются на их совершенствовании, но забывают при этом, что их взгляд обращен в прошлое, а не в будущее. Amazon и другие технологические гиганты (такие как Facebook, Google и Microsoft) всегда работают так, будто каждый день – первый: эти лидеры рынка тратят свое время на переосмысление своих продуктов, а не на то, чтобы бесконечно их улучшать.
Благодаря 130 интервью, проведенным с сотрудниками ведущих IT-компаний, автор этой книги раскрывает секрет успеха технологических гигантов в деловом мире, где нет никаких гарантий, только риск и конкуренция.
Сегодня компании могут выпускать новые продукты с рекордной скоростью – благодаря искусственному интеллекту и облачным вычислениям, – и те, кто застрял в прошлом или остался с...
Нашли для вас ребят, с которыми можно начать карьеру разработчика без вложений, а после прохождения курса они гарантировано устроят на работу!🤩
IT Mentor - один из немногих проектов в России, где ты можешь научиться Java разработке бесплатно. Оплата обучения происходит только после того, как ты начнешь работать. Первая зарплата - от 170 000 рублей. 💸
1. Ты получаешь гарантию трудоустройства, если не найдешь работу - ничего не должен.
2. Будешь учиться по индивидуальной программе с личным наставником.
3. Изучишь востребованный стек технологий: Java Core, JDBC, HIBERNATE, SPRING(Core, MVC, Security), SPRING BOOT, GIT(GITHUB, GITLAB), MAVEN
4. Сможешь общаться в закрытом сообществе студентов - разработчиков
5. И получишь карьерную поддержку от экспертов бессрочно: мастер-классы, митапы, консультации и тренинги.
Курс подойдет тем, кто хочет войти в IT, но никогда раньше не занимался программированием. Студентам ВУЗов и выпускникам образовательных программ, которые затрудняются найти работу после обучения. ...
IT Mentor - один из немногих проектов в России, где ты можешь научиться Java разработке бесплатно. Оплата обучения происходит только после того, как ты начнешь работать. Первая зарплата - от 170 000 рублей. 💸
1. Ты получаешь гарантию трудоустройства, если не найдешь работу - ничего не должен.
2. Будешь учиться по индивидуальной программе с личным наставником.
3. Изучишь востребованный стек технологий: Java Core, JDBC, HIBERNATE, SPRING(Core, MVC, Security), SPRING BOOT, GIT(GITHUB, GITLAB), MAVEN
4. Сможешь общаться в закрытом сообществе студентов - разработчиков
5. И получишь карьерную поддержку от экспертов бессрочно: мастер-классы, митапы, консультации и тренинги.
Курс подойдет тем, кто хочет войти в IT, но никогда раньше не занимался программированием. Студентам ВУЗов и выпускникам образовательных программ, которые затрудняются найти работу после обучения. ...
Разработчик по автоматизации тестирования в Мобильные платежи (middle)
#полныйдень #офис
Компания: Мир PlatForm
Локация: Москва
Задачи:
- Функционально тестировать Платформу
Мобильных Платежей;
- Разрабатывать тесткейсы и писать автотесты;
- Коммуницировать с вендорами и технологами;
- Оформлять задачи на исправление дефектов в Jira;
Требования:
- Хорошие знания Java, синтаксиса SQL-запросов;
Понимание REST API;
- Опыт работы с Git, Maven, Gradle, Nexus;
- Знание Linux + bash на уровне уверенного пользователя.
#полныйдень #офис
Компания: Мир PlatForm
Локация: Москва
Задачи:
- Функционально тестировать Платформу
Мобильных Платежей;
- Разрабатывать тесткейсы и писать автотесты;
- Коммуницировать с вендорами и технологами;
- Оформлять задачи на исправление дефектов в Jira;
Требования:
- Хорошие знания Java, синтаксиса SQL-запросов;
Понимание REST API;
- Опыт работы с Git, Maven, Gradle, Nexus;
- Знание Linux + bash на уровне уверенного пользователя.
#вопросы_с_собеседований
Сделайте HashMap из HashSet<Map.Entry<K, V>>.
Сделайте HashMap из HashSet<Map.Entry<K, V>>.
HashMap<K, V> map = new HashMap<>(set.size());
for (Map.Entry<K, V> entry : set) {
map.put(entry.getKey(), entry.getValue());
}#Вопросы_с_собеседования
Как вывести на экран 5 случайных чисел в порядке возрастания в одну строку?
Ответ на картинке.
Как вывести на экран 5 случайных чисел в порядке возрастания в одну строку?
Ответ на картинке.
Красивый код с Java Optional и Either
Многие из Java разработчиков, особенно начинающие, упускают из вида возможности функционального программирования. 😒
Предложенная сегодня статья научит вас последовательному соединению экземпляров Optional и Either для написания лаконичного и красивого кода.
Хорошей практики!
Читать статью
Многие из Java разработчиков, особенно начинающие, упускают из вида возможности функционального программирования. 😒
Предложенная сегодня статья научит вас последовательному соединению экземпляров Optional и Either для написания лаконичного и красивого кода.
Хорошей практики!
Читать статью
Хотели бы поработать над созданием автоматизированной системы, которая будет отвечать за сбор и хранение информации в крупнейшем банке страны? Тогда скорее регистрируйтесь на One Day Offer для Java-разработчиков от Сбера 💻
Всего за 1 день вы познакомитесь с командой, пройдете техническое интервью, возможно, даже получите оффер и станете частью Java-сообщества СберБанка.
Рассказываем все подробности 👇
На One Day Offer, который пройдет 4 марта, будут искать Java-разработчика уровня Middle с опытом работы от 2-3 лет. Чем предстоит заниматься?
✔️ Проектировать решения, разрабатывать архитектуру сервиса, интеграционные сценарии и автоматические модульные тесты и скрипты.
✔️ Собирать решения на стенды разработки.
✔️ Проводить code review.
✔️ Подготавливать и настраивать среды разработки.
Основная цель команды — переписать с нуля legacy-систему с монолитной архитектурой на современный стек технологий с микросервисной архитектурой.
Если вы готовы взяться за такую амбициозную задачу, переходите по ссылке, рег...
Всего за 1 день вы познакомитесь с командой, пройдете техническое интервью, возможно, даже получите оффер и станете частью Java-сообщества СберБанка.
Рассказываем все подробности 👇
На One Day Offer, который пройдет 4 марта, будут искать Java-разработчика уровня Middle с опытом работы от 2-3 лет. Чем предстоит заниматься?
✔️ Проектировать решения, разрабатывать архитектуру сервиса, интеграционные сценарии и автоматические модульные тесты и скрипты.
✔️ Собирать решения на стенды разработки.
✔️ Проводить code review.
✔️ Подготавливать и настраивать среды разработки.
Основная цель команды — переписать с нуля legacy-систему с монолитной архитектурой на современный стек технологий с микросервисной архитектурой.
Если вы готовы взяться за такую амбициозную задачу, переходите по ссылке, рег...
Красивый код с Java Optional и Either
Многие из Java разработчиков, особенно начинающие, упускают из вида возможности функционального программирования. 😒
Предложенная сегодня статья научит вас последовательному соединению экземпляров Optional и Either для написания лаконичного и красивого кода.
Хорошей практики!
Читать статью
Многие из Java разработчиков, особенно начинающие, упускают из вида возможности функционального программирования. 😒
Предложенная сегодня статья научит вас последовательному соединению экземпляров Optional и Either для написания лаконичного и красивого кода.
Хорошей практики!
Читать статью
Что происходит внутри TreeMap.put()?
Недавно мы в деталях рассматривали, какие процессы происходят при добавлении элемента в HashMap. Теперь поговорим о TreeMap. Здесь не так много тонкостей, как в хэш-таблице.
TreeMap требует либо задать порядок ключей вручную (передать в конструктор Comparator), либо чтобы они имели собственный естественный порядок (были Comparable).
Подобно нодам в хэш-таблице, внутренняя структура дерева строится из объектов внутреннего класса узла – Entry. В каждом узле хранится информация о данных (пара key-value), и о положении в структуре (ссылки на родительский узел, левую и правую ветви).
Сама структура представляет из себя красно-чёрное дерево относительно ключей. Не будем здесь углубляться в детали его реализации. О нем важно знать два факта:
1. Это бинарное дерево поиска. Значит, каждый новый элемент начинает искать свое место в дереве, сравниваясь с узлами начиная с корневого. Меньшие элементы движутся влево, большие – вправо. Для этого и требуется наличие метода compare. Дойдя до конца, пара ключ-значение «повисает» новым узлом.
2. Это самобалансирующееся дерево. Если какая-то ветка начинает становиться слишком длинной (а её эффективность вырождаться в эффективность связного списка), происходит балансировка. В результате этой операции правило из пунтка 1 остается в силе, но нагрузка на ветки перераспределяется. Самое длинное поддерево становится выше самого короткого максимум на один элемент.
Недавно мы в деталях рассматривали, какие процессы происходят при добавлении элемента в HashMap. Теперь поговорим о TreeMap. Здесь не так много тонкостей, как в хэш-таблице.
TreeMap требует либо задать порядок ключей вручную (передать в конструктор Comparator), либо чтобы они имели собственный естественный порядок (были Comparable).
Подобно нодам в хэш-таблице, внутренняя структура дерева строится из объектов внутреннего класса узла – Entry. В каждом узле хранится информация о данных (пара key-value), и о положении в структуре (ссылки на родительский узел, левую и правую ветви).
Сама структура представляет из себя красно-чёрное дерево относительно ключей. Не будем здесь углубляться в детали его реализации. О нем важно знать два факта:
1. Это бинарное дерево поиска. Значит, каждый новый элемент начинает искать свое место в дереве, сравниваясь с узлами начиная с корневого. Меньшие элементы движутся влево, большие – вправо. Для этого и требуется наличие метода compare. Дойдя до конца, пара ключ-значение «повисает» новым узлом.
2. Это самобалансирующееся дерево. Если какая-то ветка начинает становиться слишком длинной (а её эффективность вырождаться в эффективность связного списка), происходит балансировка. В результате этой операции правило из пунтка 1 остается в силе, но нагрузка на ветки перераспределяется. Самое длинное поддерево становится выше самого короткого максимум на один элемент.
15 Tips to Become a Java Expert!
https://dev.to/weder96/15-tips-to-become-a-java-expert-1acj
👉@BookJava
https://dev.to/weder96/15-tips-to-become-a-java-expert-1acj
👉@BookJava
This media is not supported in your browser
VIEW IN TELEGRAM
Ищем учеников на бесплатное обучение по созданию искусственного интеллекта с нуля. Опыт программирования не важен!🤖
Всего за 3 вечера под руководством Дмитрия Романова - основателя Университета Искусственного Интеллекта, лидера обучения AI-разработке в РФ, вы с легкостью напишете свой первый искусственный интеллект👨💻
Какие нейронные сети вы создадите?
▫️Классификация людей на входящих и выходящих из автобуса
▫️Обнаружение возгораний
▫️Оценка стоимости квартир
▫️Оценка резюме соискателей
▫️Прогнозирование стоимости полиметаллов
▫️Сегментация изображений самолетов
▫️Распознавание команд умного дома⠀
Лучше освоить навыки создания нейронных сетей вам помогут домашние задания с проверкой от кураторов.⠀
Приходите на бесплатное обучение и напишите искусственный интеллект за 3 вечера💪
Регистрация по ссылке
Всего за 3 вечера под руководством Дмитрия Романова - основателя Университета Искусственного Интеллекта, лидера обучения AI-разработке в РФ, вы с легкостью напишете свой первый искусственный интеллект👨💻
Какие нейронные сети вы создадите?
▫️Классификация людей на входящих и выходящих из автобуса
▫️Обнаружение возгораний
▫️Оценка стоимости квартир
▫️Оценка резюме соискателей
▫️Прогнозирование стоимости полиметаллов
▫️Сегментация изображений самолетов
▫️Распознавание команд умного дома⠀
Лучше освоить навыки создания нейронных сетей вам помогут домашние задания с проверкой от кураторов.⠀
Приходите на бесплатное обучение и напишите искусственный интеллект за 3 вечера💪
Регистрация по ссылке
Data Structures and Algorithms with Scala
Автор: Bhim P. Upadhyaya
Год издания: 2019
#scala #english
Скачать книгу
Автор: Bhim P. Upadhyaya
Год издания: 2019
#scala #english
Скачать книгу
Что такое «каналы»?
Каналы (channels) – это логические (не физические) порталы, абстракции объектов более низкого уровня файловой системы (например, отображенные в памяти файлы и блокировки файлов), через которые осуществляется ввод/вывод данных, а буферы являются источниками или приёмниками этих переданных данных. При организации вывода, данные, которые необходимо отправить, помещаются в буфер, который затем передается в канал. При вводе, данные из канала помещаются в заранее предоставленный буфер.
Каналы напоминают трубопроводы, по которым эффективно транспортируются данные между буферами байтов и сущностями по ту сторону каналов. Каналы – это шлюзы, которые позволяют получить доступ к сервисам ввода/вывода операционной системы с минимальными накладными расходами, а буферы – внутренние конечные точки этих шлюзов, используемые для передачи и приема данных.
Каналы (channels) – это логические (не физические) порталы, абстракции объектов более низкого уровня файловой системы (например, отображенные в памяти файлы и блокировки файлов), через которые осуществляется ввод/вывод данных, а буферы являются источниками или приёмниками этих переданных данных. При организации вывода, данные, которые необходимо отправить, помещаются в буфер, который затем передается в канал. При вводе, данные из канала помещаются в заранее предоставленный буфер.
Каналы напоминают трубопроводы, по которым эффективно транспортируются данные между буферами байтов и сущностями по ту сторону каналов. Каналы – это шлюзы, которые позволяют получить доступ к сервисам ввода/вывода операционной системы с минимальными накладными расходами, а буферы – внутренние конечные точки этих шлюзов, используемые для передачи и приема данных.
Руководство по возможностям языка Java версий 8-19
Вы можете использовать это руководство для получения практической информации о том, как найти и установить последнюю версию Java, понять различия между дистрибутивами Java (Adoptium, AdoptOpenJdk, OpenJDK, OracleJDK и т. д.), а также получить обзор функций языка Java, включая версии 8–19.
Смотреть статью
Вы можете использовать это руководство для получения практической информации о том, как найти и установить последнюю версию Java, понять различия между дистрибутивами Java (Adoptium, AdoptOpenJdk, OpenJDK, OracleJDK и т. д.), а также получить обзор функций языка Java, включая версии 8–19.
Смотреть статью
Хабр
Руководство по возможностям языка Java версий 8-19
Вы можете использовать это руководство для получения практической информации о том, как найти и установить последнюю версию Java, понять различия между дистрибутивами Java (Adoptium,...
Java-разработчик (middle)
#полныйдень #офис
З/П: от 140 000 до 200 000 ₽
Компания: GitFlic
Локация: Москва
Чем необходимо заниматься:
- Работа над интересным проектом в небольшой и молодой компании
- Разработка и сопровождение сервиса, разрабатываемого компанией
Требования:
- Опыт работы от 3 лет
- Опыт работы с высоконагруженными и распределенными системами
- Опыт работы с системами контроля версий
- Знание основных принципов ООП и шаблонов проектирования
- Опыт работы с PostgreSQL (хранимые процедуры, представления)
- Опыт работы с key-value хранилищами
- Опыт разработки REST api
- Опыт интеграции и работы с платежными системами
- Опыт работы с системами очередей
- Опыт работы с сокетами
- Ответственность и порядочность
#полныйдень #офис
З/П: от 140 000 до 200 000 ₽
Компания: GitFlic
Локация: Москва
Чем необходимо заниматься:
- Работа над интересным проектом в небольшой и молодой компании
- Разработка и сопровождение сервиса, разрабатываемого компанией
Требования:
- Опыт работы от 3 лет
- Опыт работы с высоконагруженными и распределенными системами
- Опыт работы с системами контроля версий
- Знание основных принципов ООП и шаблонов проектирования
- Опыт работы с PostgreSQL (хранимые процедуры, представления)
- Опыт работы с key-value хранилищами
- Опыт разработки REST api
- Опыт интеграции и работы с платежными системами
- Опыт работы с системами очередей
- Опыт работы с сокетами
- Ответственность и порядочность
Исходный код Java может переключиться на кодировку UTF-8
В предложении OpenJDK говорится, что текущее состояние «неопределенной кодировки» создает ненужные проблемы при работе с кодовой базой JDK.
https://www.infoworld.com/article/3689688/java-source-code-could-switch-to-utf-8-encoding.html#tk.rss_java
В предложении OpenJDK говорится, что текущее состояние «неопределенной кодировки» создает ненужные проблемы при работе с кодовой базой JDK.
https://www.infoworld.com/article/3689688/java-source-code-could-switch-to-utf-8-encoding.html#tk.rss_java
Напоминаем! Завтра на канале IT Jobs выйдет вебинар одного из наших подписчиков на тему: «Полный цикл - пишем Telegram-бота Chatgpt на Python. От проекта до деплоя за час!»
Спикер: Сергей, Программист, Преподаватель Python/Java
Дата: 03.03
Время: 19:00
Канал: IT Jobs
Подключайся!
Спикер: Сергей, Программист, Преподаватель Python/Java
Дата: 03.03
Время: 19:00
Канал: IT Jobs
Подключайся!
#вопросы_с_собеседований
Для чего в стримах предназначены методы flatMap(), flatMapToInt(), flatMapToDouble(), flatMapToLong()?
Метод flatMap() похож на map, но может создавать из одного элемента несколько. Таким образом, каждый объект будет преобразован в ноль, один или несколько других объектов, поддерживаемых потоком. Наиболее очевидный способ применения этой операции — преобразование элементов контейнера при помощи функций, которые возвращают контейнеры.
flatMapToInt(), flatMapToDouble(), flatMapToLong() - это аналоги flatMap(), возвращающие соответствующий числовой стрим.
Для чего в стримах предназначены методы flatMap(), flatMapToInt(), flatMapToDouble(), flatMapToLong()?
Метод flatMap() похож на map, но может создавать из одного элемента несколько. Таким образом, каждый объект будет преобразован в ноль, один или несколько других объектов, поддерживаемых потоком. Наиболее очевидный способ применения этой операции — преобразование элементов контейнера при помощи функций, которые возвращают контейнеры.
flatMapToInt(), flatMapToDouble(), flatMapToLong() - это аналоги flatMap(), возвращающие соответствующий числовой стрим.