Java библиотека
31.6K subscribers
2.32K photos
78 videos
8 files
2.05K links
Книги, статьи, мемы и многое другое для Java программиста!

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

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

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

Сообщество VK https://vk.com/javatutorial
Download Telegram
Selector

Класс Selector используется для организации многоканального неблокирующего ввода-вывода.
Основная идея в том, что Selector позволяет одному потоку следить за состоянием множества каналов (сокетов, файловых каналов) и обрабатывать их события (готовность к чтению/записи).

Возможности Selector:
— Регистрация множества каналов в Selector для мониторинга.
— Проверка готовности зарегистрированных каналов к операциям чтения, записи.
— Извлечение готовых каналов и выполнение операций с ними.
— Отмена регистрации каналов в Selector.

Использование Selector позволяет избежать блокировки на операциях чтения/записи по каналам и эффективно масштабировать приложение для одновременной работы с большим количеством соединений.
Класс часто применяется в сетевых серверах для неблокирующей обработки большого числа клиентских соединений в одном потоке.
👍172🔥2
Акция в Ситилинк! Успейте приобрести ноутбук OSiO FocusLine 15.6” со скидкой 4000 рублей! Это идеальный выбор для работы, учебы или развлечений. Не упустите шанс получить качественный ноутбук по выгодной цене. Акция ограничена по времени и распространяется на выделенный ассортимент.
😁8👍521
CompletableFuture

CompletableFuture в пакете java.util.concurrent является классом, который предоставляет мощный и гибкий подход к асинхронному программированию. Он позволяет выполнять асинхронные операции и обрабатывать их результаты, комбинировать несколько операций и управлять зависимостями между ними.

Помимо операций, представленных на изображении, CompletableFuture также предоставляет множество других методов для работы с асинхронными операциями, таких как thenApply(), thenCompose(), thenCombine(), exceptionally() и другие, которые позволяют обрабатывать результаты, комбинировать операции, обрабатывать исключения и многое другое. Это делает CompletableFuture мощным инструментом для асинхронного программирования.
👍22🔥43🎉2
Какие знания и навыки проверяют на техническом собеседовании на позицию Java Middle Developer?

Кроме знаний Git, Maven и Jenkis смотрят, есть ли опыт многопоточного программирования, работы с Hibernate, Oracle/Postgres, Spring Framework (Spring Boot).

💥И это только начало! Полный список must have навыков middle-специалиста обсудим на нашем вебинаре 12 марта в 19:00 МСК. А ты сможешь проверить свои силы и пройти техническое собеседование в «Цифровые Привычки» на позицию Java Middle Developer.

👉Зарегистрироваться на вебинар здесь: https://clck.ru/39G4ay
Техническое собеседование проведет Егор Шохалевич, senior java-разработчик в РОСБАНК, преподаватель курса SENIOR JAVA DEVELOPER в HeadBridge .

🔥Но и это еще не все! Присылай свое резюме до начала вебинара, а в прямом эфире 12 марта Егор разберет его и даст рекомендации по улучшению. Это поможет тебе сделать еще один шаг в карьере middle-специалиста.

Отправляй свое резюме на почту v.isaev@dhabits.ru и не забудь зарегистрироваться на вебинар здесь: https://clck.ru/39G4ay
🗓До встречи 12 марта!

Реклама. ООО "Платформа непрерывного обучения" ИНН 7839405924
erid: 2VtzquvYrmZ
👍62🔥1
PathIterator

PathIterator — это интерфейс в Java, который позволяет объектам, реализующим интерфейс Shape, возвращать геометрию своей границы, позволяя вызывающему объекту получать путь этой границы по одному сегменту за раз.

Основные возможности PathIterator:

— PathIterator позволяет перебирать сегменты пути объекта Shape по одному.
— Для каждого сегмента PathIterator может предоставить информацию о его типе (например, линия, кривая Безье), координатах и других атрибутах.
— PathIterator может использоваться для преобразования пути объекта Shape, например, для его масштабирования, поворота или перемещения.
👍83🔥3
Какие знания и навыки проверяют на техническом собеседовании на позицию Java Middle Developer?

Кроме знаний Git, Maven и Jenkis смотрят, есть ли опыт многопоточного программирования, работы с Hibernate, Oracle/Postgres, Spring Framework (Spring Boot).

💥И это только начало! Полный список must have навыков middle-специалиста обсудим на нашем вебинаре 12 марта в 19:00 МСК. А ты сможешь проверить свои силы и пройти техническое собеседование в «Цифровые Привычки» на позицию Java Middle Developer.

👉Зарегистрироваться на вебинар здесь: https://clck.ru/39G5Cb
Техническое собеседование проведет Егор Шохалевич, senior java-разработчик в РОСБАНК, преподаватель курса SENIOR JAVA DEVELOPER в HeadBridge .

🔥Но и это еще не все! Присылай свое резюме до начала вебинара, а в прямом эфире 12 марта Егор разберет его и даст рекомендации по улучшению. Это поможет тебе сделать еще один шаг в карьере middle-специалиста.

Отправляй свое резюме на почту v.isaev@dhabits.ru и не забудь зарегистрироваться на вебинар здесь: https://clck.ru/39G5Cb
🗓До встречи 12 марта!

Реклама. ООО "Платформа непрерывного обучения" ИНН 7839405924
erid: 2VtzqwEDvSP
👍52🔥1
👩‍💻 Работа с базами данных - Разработка проектов со Spring

Третий ролик цикла посвящён работе с реляционными СУБД с применением Spring Data JPA. Кроме этого вкратце демонстрируется версионирование баз данных при помощи FlywayDB.

В цикле роликов "Разработка проектов со Spring" автор рассказывает на простых примерах о процессе разработки веб-приложений и REST-сервисов на языке программирования Java с использованием экосистемы Spring. Данный цикл охватывает разработку классических и реактивных проектов, вопросы их сопровождения, такие как документация и мониториг, адаптацию их к облачной инфраструктуре и процесс их развёртывания в Docker и Kubernetes.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥54🎉1
Бесплатный интенсив для тех, кто хочет работать фронтенд-разработчиком

В сфере IT сейчас кадровый голод и компании очень нуждаются в хороших спецах.

Мы знаем это наверняка, потому что сами постоянно проводим стажировки и пополняем команду новыми разработчиками.

Поэтому мы решили, что пора делиться нашим 10-летним опытом, помогать начинающим айтишникам быстрее и проще входить в IT.
А лучших — забирать в свою команду 😉

Как стать одним из них?

➡️ Все подробности ты узнаешь на бесплатном интенсиве 14-15 марта «ТОП профессия 2024 — Frontend-разработчик».

За 2 дня поймёшь:
➤ какие навыки помогают легко трудоустраиваться и быстро расти в IT карьере
➤ как можно за год выйти из позиции Junior в Middle и расти в доходе х3-х5 
➤ где и как получить нужный опыт, чтобы компании сами предлагали тебе работу

И всё это тебе расскажет технический директор Purrweb, спикер YaTalks Сергей Пономарев.

Регистрируйся и узнай больше о программе и бонусах за участие 👉Зарегистрироваться
👍32🔥2
Sorted set

SortedSet — это интерфейс в Java Collection Framework, который предоставляет упорядочение элементов в множестве. Элементы упорядочиваются с помощью их естественного порядка или с помощью компаратора, который обычно предоставляется при создании отсортированного множества.

SortedSet имеет несколько дополнительных операций, которые позволяют использовать упорядочение элементов:
— first() и last() возвращают первый и последний элементы в множестве соответственно.
— headSet(), tailSet() и subSet() возвращают подмножества элементов, которые находятся до, после или между заданными элементами соответственно.

В этом примере мы создаем TreeSet (класс, который реализует SortedSet) и добавляем в него несколько строк. Поскольку строки реализуют интерфейс Comparable, они упорядочиваются в алфавитном порядке. Затем мы используем различные методы SortedSet для получения первого и последнего элементов, а также подмножеств элементов.
👍17🔥32
⚡️ Тест по Java от OTUS

Проверь насколько хорошо ты знаешь Java и готов освоить Spring!

Ответишь — пройдешь на продвинутый курс "Разработчик на Spring Framework" от OTUS по специальной цене.

👉 ПРОЙТИ ТЕСТ: https://otus.pw/n9Q9/

🎫 Курс можно приобрести в рассрочку

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍2🔥2
👩‍💻 Безопасность веб-приложений - Разработка проектов со Spring

Информационную систему сложно представить себе без аутентификации и авторизации - так или иначе нужно управлять доступом пользователя к тем или иным ресурсам. В четвёртом ролике серии речь пойдёт об обеспечении безопасности веб-приложения при помощи Spring Security и будет продемонстрирована настройка цепочки фильтров безопасности. В рамках ролика демонстрируется использование формы входа, Basic-аутентификации и применение OAuth 2.0/OpenID Connect.

В цикле роликов "Разработка проектов со Spring" автор рассказывает на простых примерах о процессе разработки веб-приложений и REST-сервисов на языке программирования Java с использованием экосистемы Spring. Данный цикл охватывает разработку классических и реактивных проектов, вопросы их сопровождения, такие как документация и мониториг, адаптацию их к облачной инфраструктуре и процесс их развёртывания в Docker и Kubernetes.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍155
Как архитектору эффективно работать с принципом инверсии зависимостей?

Узнайте на бесплатном практическом уроке от OTUS, где вы вместе с опытным экспертом разберете:

▫️определение и обоснование принципа инверсии зависимостей;
▫️примеры использования принципа в различных паттернах проектирования;
▫️связь принципа инверсии зависимостей с остальными принципами SOLID;
▫️связь паттерна Адаптер, луковичной архитектуры и принципа инверсии зависимостей.

Занятие пройдёт 13 марта в 20:00 мск в рамках курса «Архитектура и шаблоны проектирования». После урока у вас будет возможность стать студентом программы по специальной цене и даже в рассрочку!

👉🏻 Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить запись: пройти тест

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
3👍1🔥1
Абстракция в Java

Абстракция — это способность выделять существенные характеристики объекта и упускать несущественные.
Абстракция позволяет сосредоточиться на важных свойствах и поведении объекта, скрыв детали реализации.

В Java абстракция реализуется с помощью абстрактных классов и интерфейсов.

Абстрактный класс содержит абстрактные методы без реализации. Подклассы обязаны реализовать эти методы.
Интерфейс задает «контракт», описывая поведение классов без деталей реализации. Классы реализуют интерфейс.

Реализация абстракции требует тщательного анализа предметной области и выделения общих свойств объектов.
🔥114👍2
👩‍💻 Java. Enum на примерах.

В данном видео автор рассказывает о Enum в языке программирования Java. Показывает разные варианты применения Enum на примерах.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍134🔥4
⌨️С чего начать обучение на Java-разработчика?
С бесплатного открытого урока «Многопоточность в Java» от OTUS!

На вебинаре мы:
Поговорим об организации многопоточной обработки на Java, обсудим когда ее стоит применять и какие проблемы возникают при ее использовании.

Занятие подойдет:
Тем, кто только начинает программировать на Java или думает о начале обучения программированию.

В результате:
Вы получите понимание, что такое многопоточное программирование и как это делается на языке Java

Занятие пройдёт 19 марта в 20:00 мск и будет приурочено к старту курса «Специализация Java-разработчик».

👉🏻Для бесплатного участия и получения записи урока регистрируйтесь прямо сейчас: регистрация

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍2😁2
Класс LocalDateTime

Класс LocalDateTime используется для работы с датой и временем без учета часового пояса.
Он появился в Java 8 в пакете java.time и является частью новой date/time API, которая пришла на смену устаревшим классам Date и Calendar.

Основные возможности класса LocalDateTime:
— Хранение даты и времени с точностью до наносекунд.
— Получение различных компонентов даты/времени (год, месяц, день недели и т. д.).
— Выполнение операций сложения и вычитания дат и интервалов.
— Сравнение и сортировка дат по времени.
— Форматирование и парсинг строк по заданному шаблону.
👍173
👩‍💻 Как собрать дамп памяти в Eclipse Memory Analyzer и провести экспресс анализ OutOfMememory — практический урок для разработчиков и тестировщиков на Java

🎙Спикер Александр Царев — Tech Lead в Сбере и кандидат технических наук.

На вебинаре вы:

- узнаете, что такое дамп памяти, как его собрать и какие инструменты существуют для этих целей;
- познакомитесь с инструментом Eclipse Memory Analyzer, с помощью которого можно исследовать дампы памяти;
- получите ответы на все свои вопросы.

📢📢 Занятие пройдёт 19 марта в 20:00 мск и будет приурочено к старту курса «Java Developer. Advanced». Доступна рассрочка на обучение!

➡️ Пройдите короткий тест прямо сейчас, чтобы занять место на открытом уроке и получить запись: https://otus.pw/Q8SW/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍3🔥2
Скомпилируется ли код с картинки?

Да, код будет скомпилирован, потому что он следует спецификации функционального интерфейса, определяющей только один абстрактный метод. Второй метод, count, является методом по умолчанию, который не увеличивает количество абстрактных методов.
👍23
Бесплатный практический урок 💥«Эффекты в Scala на примере ZIO»💥

🔥 Спикер Алексей Воронец — руководитель разработки в «NAUMEN». На вебинаре:

- узнаем о предпосылках и истории возникновения ZIO;
- сформируем представление, какие задачи решают так называемые «функциональные эффекты» в целом и ZIO в частности;
- попрактикуемся в создании и комбинировании ZIO-эффектов.

Занятие пройдёт 25 марта в 20:00 мск в рамках курса «Scala-разработчик». Доступна рассрочка на обучение!

👉 Регистрируйтесь прямо сейчас, чтобы посетить бесплатный урок и получить запись: https://otus.pw/34S0/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
6
charBuffer

Метод charBuffer() используется для получения буфера символов из строки. Он принадлежит java.nio.

Этот метод возвращает объект CharBuffer, который представляет последовательность символов строки.
CharBuffer позволяет эффективно читать и манипулировать символами строки без создания копий.

В этом примере создается строка «Hello». Затем из этой строки получаем буфер символов методом charBuffer().
В цикле посимвольно читаем из буфера символы и выводим их на экран.
👍16🔥21