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
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
👩‍💻 Spring – лучший Java фреймворк для создания веб-приложений

Этот вебинар посвящен введению в один из самых лучших Java фреймворков – Spring.
Java фреймворк Spring покрывает очень много различных областей разработки, от консольных приложений до сложного batch-процессинга. Но все его модули и функциональные возможности основываются на понимании Spring Core, который мы и будем тщательно разбирать и изучать на нашем вебинаре.
Отдельное внимание мы уделим таким популярным модулям как Spring MVC, Spring Data, Spring REST.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍163
Что такое «коллекция»?

«Коллекция»
- это структура данных, набор каких-либо объектов. Данными (объектами в наборе) могут быть числа, строки, объекты пользовательских классов и т.п.
👍114❤‍🔥1🔥1
Собеседование Java Spring - Разбор вопросов с собеседований на Java Developer

В видео собраны самые интересные вопросы с собеседований на Java-разработчика. В видео две части.
👩‍💻 В первой рассказано про Java: Коллекции, Hash Code & Equals Contract, Functional interfaces, Stream API, Garbage collector, устройство памяти, heap, concurrency.
👩‍💻 Во второй — про Spring: Spring Beans, Spring Data Repository, Аннотации, Programmatic TM, Spring MVC

Приятного просмотра!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍154🎅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
6👍6
Почему Map — это не Collection, в то время как List и Set являются Collection?

Collection
представляет собой совокупность некоторых элементов. Map - это совокупность пар «ключ-значение».
👍1371
Выполнение консольных команд

Java позволяет выполнять консольные команды прямо из кода, используя класс Runtime. Очень важно не забывать об обработке исключений.

Например, давайте попробуем открыть файл PDF через терминал Java (на Linux’e).
👍111
Локация следующего Tech talk by Sber — Новосибирск! 📍

Да-да, уже 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

В этом видео автор показывает, как создать приложение, похожее на Google Фото, с помощью Spring Boot. Кроме того вы узнаете много нового о Spring Dependency Injection и MVC frameworks, Validation and File Handling, Spring Data и базах данных, а также о том, как задеплоить свое приложение.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73🎉1
Что такое «fail-fast поведение»?

fail-fast поведение означает, что при возникновении ошибки или состояния, которое может привести к ошибке, система немедленно прекращает дальнейшую работу и уведомляет об этом. Использование fail-fast подхода позволяет избежать недетерминированного поведения программы в течение времени.

В Java Collections API некоторые итераторы ведут себя как fail-fast и выбрасывают ConcurrentModificationException, если после его создания была произведена модификация коллекции, т.е. добавлен или удален элемент напрямую из коллекции, а не используя методы итератора.

Реализация такого поведения осуществляется за счет подсчета количества модификаций коллекции (modification count):

• при изменении коллекции счетчик модификаций так же изменяется;
• при создании итератора ему передается текущее значение счетчика;
• при каждом обращении к итератору сохраненное значение счетчика сравнивается с текущим, и, если они не совпадают, возникает исключение.
👍185
👩‍💻 Создание веб-сервиса с использованием Spring Boot 3 и AWS SQS

В данном видео рассмотрен пример создания веб-сервиса с использованием следующих технологий:
- Spring Boot 3
- Spring Cloud
- Spring Cloud AWS
- Spring WebFlux
- Spring Data R2DBC
- MapStruct
- PostgreSQL
- Flyway
- Docker
Please open Telegram to view this post
VIEW IN TELEGRAM
👍336🔥1
Микросервисы. От архитектуры до релиза (2023) PDF

Микросервисная архитектура обеспечивает высокую скорость изменений и хорошую масштабируемость, а также позволяет создавать чистые эволюционирующие системы. Но реализовать свою первую микросервисную архитектуру непросто. Как сделать выбор из множества вариантов и обучить свою команду всем техническим деталям, чтобы максимально увеличить шансы на успех? В этой книге авторы, Ронни Митра и Иракли Надареишвили, предоставили пошаговое руководство для построения эффективной архитектуры микросервисов. Архитекторы и инженеры пройдут путь внедрения, основанный на методах и архитектурах, доказавших свою эффективность для микросервисных систем. Вы создадите операционную модель, проект микросервиса, инфраструктурную основу и два работающих микросервиса, а затем соедините эти компоненты в одну реализацию. Для любого, перед кем стоит задача создания микросервисов, руководство станет бесценным источником знаний.
👍236🔥3
Чем различаются Enumeration и Iterator.

Хотя оба интерфейса и предназначены для обхода коллекций между ними имеются существенные различия:

• с помощью Enumeration нельзя добавлять/удалять элементы;
• в Iterator исправлены имена методов для повышения читаемости кода (Enumeration.hasMoreElements() соответствует Iterator.hasNext(), Enumeration.nextElement() соответствует Iterator.next() и т.д);
Enumeration присутствуют в устаревших классах, таких как Vector/Stack, тогда как Iterator есть во всех современных классах-коллекциях.
👍2852
Как в JPA использовать AUTO_INCREMENT в MySQL?

AUTO_INCREMENT не только удобная штука, но иногда и фича поселившаяся в структуре вашей таблицы задолго до вашего проекта.
Как использовать ее в MySQL и не лишиться прелестей JPA?
5👍5🔥2