Зачем нужен equals(). Чем он отличается от операции ==?
Метод
При сравнении объектов с помощью
Метод
equals() - определяет отношение эквивалентности объектов.При сравнении объектов с помощью
== сравнение происходит лишь между ссылками. При сравнении по переопределённому разработчиком equals() - по внутреннему состоянию объектов.👍21🔥7❤3
Git. Практическое руководство. Управление и контроль версий в разработке программного обеспечения (2021) PDF
Git в настоящее время нужен практически всем программистам, которые занимаются разработкой программного обеспечения. Git - это система управления версиями, с помощью которой вы сможете вести и контролировать разработку нескольких версий одного приложения, осуществлять совместную разработку одного приложения несколькими разработчиками.
Git в настоящее время нужен практически всем программистам, которые занимаются разработкой программного обеспечения. Git - это система управления версиями, с помощью которой вы сможете вести и контролировать разработку нескольких версий одного приложения, осуществлять совместную разработку одного приложения несколькими разработчиками.
👍21❤5
WebSocket + Jetty
В данном видео автор запускает WebSocket сервер на базе Jetty, без Spring.
Иногда хочется не целый каравай, а просто хлеб с маслом.
Вот и автору понадобился простой java проект с socket-сервером, без необходимости тащить спринг.
В данном видео автор запускает WebSocket сервер на базе Jetty, без Spring.
Иногда хочется не целый каравай, а просто хлеб с маслом.
Вот и автору понадобился простой java проект с socket-сервером, без необходимости тащить спринг.
YouTube
WebSocket + Jetty.
#maven #java #jetty #websocket
Запускаем WebSocket сервер на базе Jetty, без Spring.
Иногда хочется не целый каравай, а просто хлеб с маслом.
Вот и мне понадобился простой java проект с socket-сервером, без необходимости тащить спринг.
Sources: https:…
Запускаем WebSocket сервер на базе Jetty, без Spring.
Иногда хочется не целый каравай, а просто хлеб с маслом.
Вот и мне понадобился простой java проект с socket-сервером, без необходимости тащить спринг.
Sources: https:…
🔥9❤7👍6
Введение в объектно-ориентированный дизайн с Java (2022) PDF
Эта книга ориентирована на тех, кто уже знаком с языком программирования Java и хотел бы углубить свои знания и изучить объектно-ориентированный анализ и проектирование программного обеспечения. Вы познакомитесь с основными принципами и паттернами объектно-ориентированного дизайна, используемыми при разработке программных систем Java. Вы научитесь моделировать системы Java с помощью UML диаграмм, познакомитесь с основными понятиями и принципами объектно-ориентированного подхода, изучите порождающие, структурные и поведенческие шаблоны проектирования. Вы узнаете, как создавать модульное, гибкое и многоразовое программное обеспечение, применяя объектно-ориентированные принципы и шаблоны проектирования.
Эта книга ориентирована на тех, кто уже знаком с языком программирования Java и хотел бы углубить свои знания и изучить объектно-ориентированный анализ и проектирование программного обеспечения. Вы познакомитесь с основными принципами и паттернами объектно-ориентированного дизайна, используемыми при разработке программных систем Java. Вы научитесь моделировать системы Java с помощью UML диаграмм, познакомитесь с основными понятиями и принципами объектно-ориентированного подхода, изучите порождающие, структурные и поведенческие шаблоны проектирования. Вы узнаете, как создавать модульное, гибкое и многоразовое программное обеспечение, применяя объектно-ориентированные принципы и шаблоны проектирования.
👍11❤5🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥43👍13❤3🤩2❤🔥1
Техника «10 тестов в день» – одна из самых эффективных в изучении Java.
Канал Java Guru выложил в открытый доступ тесты, которые дают на собеседованиях в топовые компании, вроде Яндекс и MailRu.
➤ Открываете задачку – выбираете вариант – видите правильный ответ и детальное объяснение к нему. Так вы усвоите на 50% больше знаний в сжатые сроки.
Подписывайтесь и качайте свои скиллы: @javatasks
Канал Java Guru выложил в открытый доступ тесты, которые дают на собеседованиях в топовые компании, вроде Яндекс и MailRu.
➤ Открываете задачку – выбираете вариант – видите правильный ответ и детальное объяснение к нему. Так вы усвоите на 50% больше знаний в сжатые сроки.
Подписывайтесь и качайте свои скиллы: @javatasks
👍8❤3🔥1
Testing Spring Boot Applications Demystified: Avoiding Pitfalls, Implementing Recipes, and Embracing Best Practices (2023) True PDF, ePUB, mobi
Unravel the complexities of testing Spring Boot applications.
Gain insights, best practices, practical tips and avoid common pitfalls to write comprehensive and effective tests to become more productive. Demystify Spring Boot testing and deliver robust & maintainable applications. Start your testing journey today!
Whether you’re a seasoned developer or just starting your journey with Spring Boot, this ebook is designed to unravel the complexities of testing Spring Boot applications and empower you to become more productive and confident in your testing efforts. Testing plays a crucial role in software development, allowing you to catch bugs, ensure your code functions as intended, and provide confidence in the reliability and stability of your applications.
Unravel the complexities of testing Spring Boot applications.
Gain insights, best practices, practical tips and avoid common pitfalls to write comprehensive and effective tests to become more productive. Demystify Spring Boot testing and deliver robust & maintainable applications. Start your testing journey today!
Whether you’re a seasoned developer or just starting your journey with Spring Boot, this ebook is designed to unravel the complexities of testing Spring Boot applications and empower you to become more productive and confident in your testing efforts. Testing plays a crucial role in software development, allowing you to catch bugs, ensure your code functions as intended, and provide confidence in the reliability and stability of your applications.
👍11❤5🔥1
Какими свойствами обладает порождаемое equals() отношение эквивалентности?
• Рефлексивность: для любой ссылки на значение
• Симметричность: для любых ссылок на значения
• Транзитивность: для любых ссылок на значения
• Непротиворечивость: для любых ссылок на значения
Для любой ненулевой ссылки на значение
• Рефлексивность: для любой ссылки на значение
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.👍27❤4🔥3
Изучаем принципы SOLID на примерах с Java
Друзья, мы уже не раз рассматривали принципы SOLID, но почему бы их не повторить снова?
Предложенная статья на примерах покажет реализацию этих принципов на языке Java.
Практика, здравствуй! 😊
Читать статью
Друзья, мы уже не раз рассматривали принципы SOLID, но почему бы их не повторить снова?
Предложенная статья на примерах покажет реализацию этих принципов на языке Java.
Практика, здравствуй! 😊
Читать статью
❤25👍7
Правила переопределения метода Object.equals().
1. Использование оператора
2. Использование оператор
3. Приведение аргумента к правильному типу. Поскольку эта операция следует за проверкой
4. Обход всех значимых полей класса и проверка того, что значение поля в текущем объекте и значение того же поля в проверяемом на эквивалентность аргументе соответствуют друг другу. Если проверки для всех полей прошли успешно, возвращается результат
По окончанию переопределения метода
1. Использование оператора
== для проверки, является ли аргумент ссылкой на указанный объект. Если является, возвращается true. Если сравниваемый объект == null, должно вернуться false.2. Использование оператор
instanceof и вызова метода getClass() для проверки, имеет ли аргумент правильный тип. Если не имеет, возвращается false.3. Приведение аргумента к правильному типу. Поскольку эта операция следует за проверкой
instanceof она гарантированно будет выполнена.4. Обход всех значимых полей класса и проверка того, что значение поля в текущем объекте и значение того же поля в проверяемом на эквивалентность аргументе соответствуют друг другу. Если проверки для всех полей прошли успешно, возвращается результат
true, в противном случае - false.По окончанию переопределения метода
equals() следует проверить: является ли порождаемое отношение эквивалентности рефлексивным, симметричным, транзитивным и непротиворечивым? Если ответ отрицательный, метод подлежит соответствующей правке.👍15❤3🔥1
❓Java Guru - вопросы и задачи с собеседований. Канал с помощью которого ты точно получишь оффер!
👩💻 Android Developer - канал для андроид разработчиков! Статьи, вопросы и задачи с собеседований, лайфхаки.
👩💻 Kotlin Developer - самый топовый канал для котлин разработчика!
📕 Книги для Java программиста - канал с книгами по Java. Постоянно выходят новинки как на русском так и на английском языке!
📰 Java News - канал с последними новостями из мира Java!
📕 Книги для Java программиста - канал с книгами по Java. Постоянно выходят новинки как на русском так и на английском языке!
📰 Java News - канал с последними новостями из мира Java!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥1🤩1
Apache Flink и Apache Spark широко используются в качестве следующего поколения вычислительных движков для потоковой передачи больших данных. Основываясь на превосходном опыте в сочетании с лучшими практиками, мы извлекли параметры развертывания задачи и времени выполнения в файлы конфигурации. Таким образом, простой в использовании RuntimeContext с готовыми соединителями упростит и повысит эффективность разработки задач. Это снижает затраты на обучение и барьеры для разработки, поэтому разработчики могут сосредоточиться на бизнес-логике. С другой стороны, предприятиям может быть сложно использовать Flink & Spark, если на этапе развертывания нет профессиональной платформы управления для задач Flink & Spark. StreamPark предоставляет такую профессиональную платформу для управления задачами, включая разработку задач, планирование, интерактивные запросы, развертывание, эксплуатацию, обслуживание и т. д.
@javalib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Если equals() переопределен, есть ли какие-либо другие методы, которые следует переопределить?
Равные объекты должны возвращать одинаковые хэш коды. При переопределении
Равные объекты должны возвращать одинаковые хэш коды. При переопределении
equals() нужно обязательно переопределять и метод hashCode().👍30
15 советов для развития экспертизы в Java
Предложенная сегодня статья достаточно детально, подробно и обоснованно расписывает необходимые шаги, которые нужно предпринять, чтобы стать экспертом в Java. 😃
Приятного чтения!
Читать статью
Предложенная сегодня статья достаточно детально, подробно и обоснованно расписывает необходимые шаги, которые нужно предпринять, чтобы стать экспертом в Java. 😃
Приятного чтения!
Читать статью
👍9☃1
Это веб-приложение на основе Java для начинающих. Для разработки веб-сайта электронной коммерции для покупки / продажи продуктов питания. Мы используем Spring Boot для сборки серверной части
Language: Java
💥Stars: 166
📝Forks: 172
https://github.com/jaygajera17/E-commerce-project-springBoot
Language: Java
💥Stars: 166
📝Forks: 172
https://github.com/jaygajera17/E-commerce-project-springBoot
GitHub
GitHub - jaygajera17/E-commerce-project-springBoot: This project serves as an easy-to-understand setup for beginners , providing…
This project serves as an easy-to-understand setup for beginners , providing a base foundation in Spring Boot , MVC & hibernate. - jaygajera17/E-commerce-project-springBoot
👍10😁1
Что будет, если переопределить equals() не переопределяя hashCode()? Какие могут возникнуть проблемы?
Классы и методы, которые используют правила этого контракта могут работать некорректно. Так для
Классы и методы, которые используют правила этого контракта могут работать некорректно. Так для
HashMap это может привести к тому, что пара «ключ-значение», которая была в неё помещена при использовании нового экземпляра ключа не будет в ней найдена.👍10
Каким образом реализованы методы hashCode() и equals() в классе Object?
Реализация метода
Реализация метода
Object.equals() сводится к проверке на равенство двух ссылок: public boolean equals(Object obj) {
return (this == obj);
}
Реализация метода Object.hashCode() описана как native, т.е. определенной не с помощью Java кода и обычно возвращает адрес объекта в памяти:public native int hashCode();👍14🔥2🎅2☃1
Для чего нужен метод hashCode()?
Метод
• если хэш коды разные, то и объекты гарантированно разные;
• если хэш коды равны, то объекты могут не обязательно равны.
Метод
hashCode() необходим для вычисления хэш кода переданного в качестве входного параметра объекта. В Java это целое число, в более широком смысле - битовая строка фиксированной длины, полученная из массива произвольной длины. Этот метод реализован таким образом, что для одного и того же входного объекта, хэш код всегда будет одинаковым. Следует понимать, что в Java множество возможных хэш кодов ограничено типом int, а множество объектов ничем не ограничено. Из-за этого, вполне возможна ситуация, что хэш коды разных объектов могут совпасть:• если хэш коды разные, то и объекты гарантированно разные;
• если хэш коды равны, то объекты могут не обязательно равны.
👍16🔥3
BitSail — это распределенный высокопроизводительный механизм интеграции данных, который поддерживает пакетные, потоковые и инкрементальные сценарии.
Language: Java
💥Stars: 1393
📝Forks: 271
https://github.com/bytedance/bitsail
Language: Java
💥Stars: 1393
📝Forks: 271
https://github.com/bytedance/bitsail
GitHub
GitHub - bytedance/bitsail: BitSail is a distributed high-performance data integration engine which supports batch, streaming and…
BitSail is a distributed high-performance data integration engine which supports batch, streaming and incremental scenarios. BitSail is widely used to synchronize hundreds of trillions of data ever...
👍4❤1