Изучаем принципы 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
Этот вебинар посвящен введению в один из самых лучших Java фреймворков – Spring.
Java фреймворк Spring покрывает очень много различных областей разработки, от консольных приложений до сложного batch-процессинга. Но все его модули и функциональные возможности основываются на понимании Spring Core, который мы и будем тщательно разбирать и изучать на нашем вебинаре.
Отдельное внимание мы уделим таким популярным модулям как Spring MVC, Spring Data, Spring REST.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Spring – лучший Java фреймворк для создания веб-приложений
Промокод на скидку 15% на все курсы ITVDN- H94BCAB
Больше уроков по Spring - https://itvdn.com/ru/catalog?search=spring?utm_source=yb_webinar_spring2020
Этот вебинар посвящен введению в один из самых лучших Java фреймворков – Spring.
Java фреймворк Spring…
Больше уроков по Spring - https://itvdn.com/ru/catalog?search=spring?utm_source=yb_webinar_spring2020
Этот вебинар посвящен введению в один из самых лучших Java фреймворков – Spring.
Java фреймворк Spring…
👍16❤3
Что такое «коллекция»?
«Коллекция» - это структура данных, набор каких-либо объектов. Данными (объектами в наборе) могут быть числа, строки, объекты пользовательских классов и т.п.
«Коллекция» - это структура данных, набор каких-либо объектов. Данными (объектами в наборе) могут быть числа, строки, объекты пользовательских классов и т.п.
👍11❤4❤🔥1🔥1
В видео собраны самые интересные вопросы с собеседований на Java-разработчика. В видео две части.
Приятного просмотра!
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Собеседование Java Spring - Разбор вопросов с собеседований на Java Developer
Собрали самые интересные вопросы с собеседований на Java-разработчика. В видео две части. В первой рассказываем про Java: Коллекции, Hash Code & Equals Contract, Functional interfaces, Stream API, Garbage collector, устройство памяти, heap, concurrency.
Во…
Во…
👍15❤4🎅2
Тимлид в команду разработки на Java
Гибридный формат в городах РФ, Сербии, Казахстана, Армении, Беларуси.
Инфраструктура Яндекса — это набор сервисных провайдеров, на основе которых строится runtime облака, хранилища, системы офлайн-вычислений и другие продукты компании. Все провайдеры объединены проектной, ресурсной и ролевой моделью — это позволяет быстрее запускать новые продукты и гарантировать стабильность работы уже существующих. Наша команда разрабатывает базовые сервисы, которые реализуют эти модели и связывают всю инфраструктуру воедино, позволяют группировать ресурсы по проектам, предоставлять к ним доступы.
Ищем опытного тимлида в команду разработки на Java, который поможет спроектировать и реализовать новые компоненты системы, будет руководить командой, нанимать новых инженеров и развивать их.
Наш стек: Java 11, Spring Boot, Reactor, HTTP и gRPC API, Kotlin, PostgreSQL.
Мы ждем, что вы:
- разрабатывали на Java больше трех лет;
- пишете эффективный и понятный код;
- управляли командой разработки; нанимали людей и знаете, как правильно развивать разработчиков;
- можете вести за собой младших участников команды, делиться с ними знаниями и опытом;
- знаете, как устроены веб-сервисы;
- работали с реляционными и нереляционными базами данных и понимаете их устройство, *nix-подобными ОС.
- знаете популярные Java-библиотеки и фреймворки (Spring Boot, jUnit, Netty, Reactor);
Условия:
- сильная команда, с которой можно расти;
- зарплата на уровне рынка и выше;
- премии каждые полгода для всех, кто успешно прошёл ревью;
- расширенная программа ДМС: оплата 80% стоимости ДМС для супругов и детей;
- гибкий график работы.
Откликнуться: https://goo.su/hlTfAB или в ТГ: @Karm_Anna
Гибридный формат в городах РФ, Сербии, Казахстана, Армении, Беларуси.
Инфраструктура Яндекса — это набор сервисных провайдеров, на основе которых строится runtime облака, хранилища, системы офлайн-вычислений и другие продукты компании. Все провайдеры объединены проектной, ресурсной и ролевой моделью — это позволяет быстрее запускать новые продукты и гарантировать стабильность работы уже существующих. Наша команда разрабатывает базовые сервисы, которые реализуют эти модели и связывают всю инфраструктуру воедино, позволяют группировать ресурсы по проектам, предоставлять к ним доступы.
Ищем опытного тимлида в команду разработки на Java, который поможет спроектировать и реализовать новые компоненты системы, будет руководить командой, нанимать новых инженеров и развивать их.
Наш стек: Java 11, Spring Boot, Reactor, HTTP и gRPC API, Kotlin, PostgreSQL.
Мы ждем, что вы:
- разрабатывали на Java больше трех лет;
- пишете эффективный и понятный код;
- управляли командой разработки; нанимали людей и знаете, как правильно развивать разработчиков;
- можете вести за собой младших участников команды, делиться с ними знаниями и опытом;
- знаете, как устроены веб-сервисы;
- работали с реляционными и нереляционными базами данных и понимаете их устройство, *nix-подобными ОС.
- знаете популярные Java-библиотеки и фреймворки (Spring Boot, jUnit, Netty, Reactor);
Условия:
- сильная команда, с которой можно расти;
- зарплата на уровне рынка и выше;
- премии каждые полгода для всех, кто успешно прошёл ревью;
- расширенная программа ДМС: оплата 80% стоимости ДМС для супругов и детей;
- гибкий график работы.
Откликнуться: https://goo.su/hlTfAB или в ТГ: @Karm_Anna
❤6👍6
Почему Map — это не Collection, в то время как List и Set являются Collection?
Collection представляет собой совокупность некоторых элементов. Map - это совокупность пар «ключ-значение».
Collection представляет собой совокупность некоторых элементов. Map - это совокупность пар «ключ-значение».
👍13❤7☃1
Локация следующего Tech talk by Sber — Новосибирск! 📍
Да-да, уже 27 июля IT-специалисты Новосибирска получат классную возможность узнать больше о том, как реализуются задачи в Сбере, пообщаться с топовыми экспертами и завести интересные знакомства.
В программе митапа — доклады только на актуальные темы:
✔️ Дмитрий Дрожжин расскажет о том, зачем Сбер изобрел свой язык программирования и как его используют в проектах.
✔️ Марат Юлдашев раскроет все секреты развертывания приложений на стенды с помощью ARGOCD.
✔️ А Владимир Медин поделится историей тернистого пути Jenkins в Enterprise и расскажет, как специалистам Сбера удалось найти решение даже при пиковой нагрузке.
В перерывах вас ждет неформальное общение и вкусный кейтеринг. Регистрируйтесь по ссылке — встречаемся 27 июля в 18:00 по адресу: Food Factory, ул. Коммунистическая, 14 👌
Да-да, уже 27 июля IT-специалисты Новосибирска получат классную возможность узнать больше о том, как реализуются задачи в Сбере, пообщаться с топовыми экспертами и завести интересные знакомства.
В программе митапа — доклады только на актуальные темы:
✔️ Дмитрий Дрожжин расскажет о том, зачем Сбер изобрел свой язык программирования и как его используют в проектах.
✔️ Марат Юлдашев раскроет все секреты развертывания приложений на стенды с помощью ARGOCD.
✔️ А Владимир Медин поделится историей тернистого пути Jenkins в Enterprise и расскажет, как специалистам Сбера удалось найти решение даже при пиковой нагрузке.
В перерывах вас ждет неформальное общение и вкусный кейтеринг. Регистрируйтесь по ссылке — встречаемся 27 июля в 18:00 по адресу: Food Factory, ул. Коммунистическая, 14 👌
👍6🔥2
В чем разница между классами java.util.Collection и java.util.Collections?
java.util.Collections - набор статических методов для работы с коллекциями.java.util.Collection - один из основных интерфейсов Java Collections Framework.👍17
В этом видео автор показывает, как создать приложение, похожее на Google Фото, с помощью Spring Boot. Кроме того вы узнаете много нового о Spring Dependency Injection и MVC frameworks, Validation and File Handling, Spring Data и базах данных, а также о том, как задеплоить свое приложение.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Spring Boot Tutorial - Crash Course
Ever looked for a comprehensive intro to Spring Boot that is fun and entertaining at the same time? Then have a look at this brand-new episode of "Marco Codes": Spring Boot Tutorial [Crash Course].
In this video, we will build a tiny Google Photos-like clone…
In this video, we will build a tiny Google Photos-like clone…
👍7❤3🎉1
Разбираемся, как можно по простому ускорить вычисления с помощью параллельного выполнения на пуле потоков.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Java. Распараллеливаем вычисления на пуле потоков.
Разбираемся, как можно по простому ускорить вычисления с помощью параллельного выполнения на пуле потоков.
Исходные коды:
https://github.com/Arhiser/java_tutorials/tree/master/src/ru/arhiser/multithreading/parallel2
Поддержать канал на Boosty:
https://…
Исходные коды:
https://github.com/Arhiser/java_tutorials/tree/master/src/ru/arhiser/multithreading/parallel2
Поддержать канал на Boosty:
https://…
👍17❤7