Java библиотека – Telegram
Java библиотека
31.5K subscribers
2.38K photos
91 videos
10 files
2.19K links
Книги, статьи, мемы и многое другое для Java программиста!

По сотрудничеству и рекламе: @NadikaKir

Канал в перечне РКН: https://vk.cc/cJrT4A

Мы на бирже: https://telega.in/c/javalib/

Сообщество VK https://vk.com/javatutorial
Download Telegram
Зачем нужен equals(). Чем он отличается от операции ==?

Метод equals() - определяет отношение эквивалентности объектов.

При сравнении объектов с помощью == сравнение происходит лишь между ссылками. При сравнении по переопределённому разработчиком equals() - по внутреннему состоянию объектов.
👍21🔥73
Друзья, представляем вашему вниманию шпаргалку по теме JDBC.

Источник
👍297🔥5
Git. Практическое руководство. Управление и контроль версий в разработке программного обеспечения (2021) PDF

Git в настоящее время нужен практически всем программистам, которые занимаются разработкой программного обеспечения. Git - это система управления версиями, с помощью которой вы сможете вести и контролировать разработку нескольких версий одного приложения, осуществлять совместную разработку одного приложения несколькими разработчиками.
👍215
WebSocket + Jetty

В данном видео автор запускает WebSocket сервер на базе Jetty, без Spring.
Иногда хочется не целый каравай, а просто хлеб с маслом.
Вот и автору понадобился простой java проект с socket-сервером, без необходимости тащить спринг.
🔥97👍6
Введение в объектно-ориентированный дизайн с Java (2022) PDF

Эта книга ориентирована на тех, кто уже знаком с языком программирования Java и хотел бы углубить свои знания и изучить объектно-ориентированный анализ и проектирование программного обеспечения. Вы познакомитесь с основными принципами и паттернами объектно-ориентированного дизайна, используемыми при разработке программных систем Java. Вы научитесь моделировать системы Java с помощью UML диаграмм, познакомитесь с основными понятиями и принципами объектно-ориентированного подхода, изучите порождающие, структурные и поведенческие шаблоны проектирования. Вы узнаете, как создавать модульное, гибкое и многоразовое программное обеспечение, применяя объектно-ориентированные принципы и шаблоны проектирования.
👍115🔥2
⚡️Краткая шпаргалка по паттернам проектирования
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥43👍133🤩2❤‍🔥1
Техника «10 тестов в день» – одна из самых эффективных в изучении Java.

Канал Java Guru выложил в открытый доступ тесты, которые дают на собеседованиях в топовые компании, вроде Яндекс и MailRu.

➤ Открываете задачку – выбираете вариант – видите правильный ответ и детальное объяснение к нему. Так вы усвоите на 50% больше знаний в сжатые сроки.

Подписывайтесь и качайте свои скиллы: @javatasks
👍83🔥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.
👍115🔥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.
👍274🔥3
Изучаем принципы SOLID на примерах с Java

Друзья, мы уже не раз рассматривали принципы SOLID, но почему бы их не повторить снова?

Предложенная статья на примерах покажет реализацию этих принципов на языке Java.

Практика, здравствуй! 😊

Читать статью
25👍7
Правила переопределения метода Object.equals().

1. Использование оператора == для проверки, является ли аргумент ссылкой на указанный объект. Если является, возвращается true. Если сравниваемый объект == null, должно вернуться false.
2. Использование оператор instanceof и вызова метода getClass() для проверки, имеет ли аргумент правильный тип. Если не имеет, возвращается false.
3. Приведение аргумента к правильному типу. Поскольку эта операция следует за проверкой instanceof она гарантированно будет выполнена.
4. Обход всех значимых полей класса и проверка того, что значение поля в текущем объекте и значение того же поля в проверяемом на эквивалентность аргументе соответствуют друг другу. Если проверки для всех полей прошли успешно, возвращается результат true, в противном случае - false.

По окончанию переопределения метода equals() следует проверить: является ли порождаемое отношение эквивалентности рефлексивным, симметричным, транзитивным и непротиворечивым? Если ответ отрицательный, метод подлежит соответствующей правке.
👍153🔥1
Java Guru - вопросы и задачи с собеседований. Канал с помощью которого ты точно получишь оффер!

👩‍💻 Android Developer - канал для андроид разработчиков! Статьи, вопросы и задачи с собеседований, лайфхаки.

👩‍💻 Kotlin Developer - самый топовый канал для котлин разработчика!

📕 Книги для Java программиста - канал с книгами по Java. Постоянно выходят новинки как на русском так и на английском языке!

📰 Java News - канал с последними новостями из мира Java!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥1🤩1
🔥 Apache StreamPark - Волшебный фреймворк, который упрощает обработку потоков!

Apache Flink и Apache Spark широко используются в качестве следующего поколения вычислительных движков для потоковой передачи больших данных. Основываясь на превосходном опыте в сочетании с лучшими практиками, мы извлекли параметры развертывания задачи и времени выполнения в файлы конфигурации. Таким образом, простой в использовании RuntimeContext с готовыми соединителями упростит и повысит эффективность разработки задач. Это снижает затраты на обучение и барьеры для разработки, поэтому разработчики могут сосредоточиться на бизнес-логике. С другой стороны, предприятиям может быть сложно использовать Flink & Spark, если на этапе развертывания нет профессиональной платформы управления для задач Flink & Spark. StreamPark предоставляет такую профессиональную платформу для управления задачами, включая разработку задач, планирование, интерактивные запросы, развертывание, эксплуатацию, обслуживание и т. д.

🖥 GitHub

@javalib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Если equals() переопределен, есть ли какие-либо другие методы, которые следует переопределить?

Равные объекты должны возвращать одинаковые хэш коды. При переопределении equals() нужно обязательно переопределять и метод hashCode().
👍30
15 советов для развития экспертизы в Java

Предложенная сегодня статья достаточно детально, подробно и обоснованно расписывает необходимые шаги, которые нужно предпринять, чтобы стать экспертом в Java. 😃

Приятного чтения!

Читать статью
👍91
Это веб-приложение на основе Java для начинающих. Для разработки веб-сайта электронной коммерции для покупки / продажи продуктов питания. Мы используем Spring Boot для сборки серверной части

Language: Java

💥Stars: 166
📝Forks: 172
https://github.com/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🎅21
Для чего нужен метод hashCode()?

Метод hashCode() необходим для вычисления хэш кода переданного в качестве входного параметра объекта. В Java это целое число, в более широком смысле - битовая строка фиксированной длины, полученная из массива произвольной длины. Этот метод реализован таким образом, что для одного и того же входного объекта, хэш код всегда будет одинаковым. Следует понимать, что в Java множество возможных хэш кодов ограничено типом int, а множество объектов ничем не ограничено. Из-за этого, вполне возможна ситуация, что хэш коды разных объектов могут совпасть:

• если хэш коды разные, то и объекты гарантированно разные;
• если хэш коды равны, то объекты могут не обязательно равны.
👍16🔥3
BitSail — это распределенный высокопроизводительный механизм интеграции данных, который поддерживает пакетные, потоковые и инкрементальные сценарии.

Language: Java

💥Stars: 1393
📝Forks: 271
https://github.com/bytedance/bitsail
👍41