Selector
Класс Selector используется для организации многоканального неблокирующего ввода-вывода.
Основная идея в том, что Selector позволяет одному потоку следить за состоянием множества каналов (сокетов, файловых каналов) и обрабатывать их события (готовность к чтению/записи).
Возможности Selector:
— Регистрация множества каналов в Selector для мониторинга.
— Проверка готовности зарегистрированных каналов к операциям чтения, записи.
— Извлечение готовых каналов и выполнение операций с ними.
— Отмена регистрации каналов в Selector.
Использование Selector позволяет избежать блокировки на операциях чтения/записи по каналам и эффективно масштабировать приложение для одновременной работы с большим количеством соединений.
Класс часто применяется в сетевых серверах для неблокирующей обработки большого числа клиентских соединений в одном потоке.
Класс Selector используется для организации многоканального неблокирующего ввода-вывода.
Основная идея в том, что Selector позволяет одному потоку следить за состоянием множества каналов (сокетов, файловых каналов) и обрабатывать их события (готовность к чтению/записи).
Возможности Selector:
— Регистрация множества каналов в Selector для мониторинга.
— Проверка готовности зарегистрированных каналов к операциям чтения, записи.
— Извлечение готовых каналов и выполнение операций с ними.
— Отмена регистрации каналов в Selector.
Использование Selector позволяет избежать блокировки на операциях чтения/записи по каналам и эффективно масштабировать приложение для одновременной работы с большим количеством соединений.
Класс часто применяется в сетевых серверах для неблокирующей обработки большого числа клиентских соединений в одном потоке.
👍17❤2🔥2
Акция в Ситилинк! Успейте приобрести ноутбук OSiO FocusLine 15.6” со скидкой 4000 рублей! Это идеальный выбор для работы, учебы или развлечений. Не упустите шанс получить качественный ноутбук по выгодной цене. Акция ограничена по времени и распространяется на выделенный ассортимент.
😁8👍5❤2☃1
CompletableFuture
CompletableFuture в пакете java.util.concurrent является классом, который предоставляет мощный и гибкий подход к асинхронному программированию. Он позволяет выполнять асинхронные операции и обрабатывать их результаты, комбинировать несколько операций и управлять зависимостями между ними.
Помимо операций, представленных на изображении, CompletableFuture также предоставляет множество других методов для работы с асинхронными операциями, таких как thenApply(), thenCompose(), thenCombine(), exceptionally() и другие, которые позволяют обрабатывать результаты, комбинировать операции, обрабатывать исключения и многое другое. Это делает CompletableFuture мощным инструментом для асинхронного программирования.
CompletableFuture в пакете java.util.concurrent является классом, который предоставляет мощный и гибкий подход к асинхронному программированию. Он позволяет выполнять асинхронные операции и обрабатывать их результаты, комбинировать несколько операций и управлять зависимостями между ними.
Помимо операций, представленных на изображении, CompletableFuture также предоставляет множество других методов для работы с асинхронными операциями, таких как thenApply(), thenCompose(), thenCombine(), exceptionally() и другие, которые позволяют обрабатывать результаты, комбинировать операции, обрабатывать исключения и многое другое. Это делает CompletableFuture мощным инструментом для асинхронного программирования.
👍22🔥4❤3🎉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
Кроме знаний 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
👍6❤2🔥1
PathIterator
PathIterator — это интерфейс в Java, который позволяет объектам, реализующим интерфейс Shape, возвращать геометрию своей границы, позволяя вызывающему объекту получать путь этой границы по одному сегменту за раз.
Основные возможности PathIterator:
— PathIterator позволяет перебирать сегменты пути объекта Shape по одному.
— Для каждого сегмента PathIterator может предоставить информацию о его типе (например, линия, кривая Безье), координатах и других атрибутах.
— PathIterator может использоваться для преобразования пути объекта Shape, например, для его масштабирования, поворота или перемещения.
PathIterator — это интерфейс в Java, который позволяет объектам, реализующим интерфейс Shape, возвращать геометрию своей границы, позволяя вызывающему объекту получать путь этой границы по одному сегменту за раз.
Основные возможности PathIterator:
— PathIterator позволяет перебирать сегменты пути объекта Shape по одному.
— Для каждого сегмента PathIterator может предоставить информацию о его типе (например, линия, кривая Безье), координатах и других атрибутах.
— PathIterator может использоваться для преобразования пути объекта Shape, например, для его масштабирования, поворота или перемещения.
👍8❤3🔥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
Кроме знаний 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
👍5❤2🔥1
Третий ролик цикла посвящён работе с реляционными СУБД с применением Spring Data JPA. Кроме этого вкратце демонстрируется версионирование баз данных при помощи FlywayDB.
В цикле роликов "Разработка проектов со Spring" автор рассказывает на простых примерах о процессе разработки веб-приложений и REST-сервисов на языке программирования Java с использованием экосистемы Spring. Данный цикл охватывает разработку классических и реактивных проектов, вопросы их сопровождения, такие как документация и мониториг, адаптацию их к облачной инфраструктуре и процесс их развёртывания в Docker и Kubernetes.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
SC24EP03 Работа с базами данных - Разработка проектов со Spring #java #spring #data #jpa #sql
Третий ролик цикла посвящён работе с реляционными СУБД с применением Spring Data JPA. Кроме этого вкратце демонстрируется версионирование баз данных при помощи FlywayDB.
В цикле роликов "Разработка проектов со Spring" я рассказываю на простых примерах о…
В цикле роликов "Разработка проектов со Spring" я рассказываю на простых примерах о…
👍20🔥5❤4🎉1
Бесплатный интенсив для тех, кто хочет работать фронтенд-разработчиком
В сфере IT сейчас кадровый голод и компании очень нуждаются в хороших спецах.
Мы знаем это наверняка, потому что сами постоянно проводим стажировки и пополняем команду новыми разработчиками.
Поэтому мы решили, что пора делиться нашим 10-летним опытом, помогать начинающим айтишникам быстрее и проще входить в IT.
А лучших — забирать в свою команду 😉
Как стать одним из них?
➡️ Все подробности ты узнаешь на бесплатном интенсиве 14-15 марта «ТОП профессия 2024 — Frontend-разработчик».
За 2 дня поймёшь:
➤ какие навыки помогают легко трудоустраиваться и быстро расти в IT карьере
➤ как можно за год выйти из позиции Junior в Middle и расти в доходе х3-х5
➤ где и как получить нужный опыт, чтобы компании сами предлагали тебе работу
✅ И всё это тебе расскажет технический директор Purrweb, спикер YaTalks Сергей Пономарев.
Регистрируйся и узнай больше о программе и бонусах за участие 👉Зарегистрироваться
В сфере IT сейчас кадровый голод и компании очень нуждаются в хороших спецах.
Мы знаем это наверняка, потому что сами постоянно проводим стажировки и пополняем команду новыми разработчиками.
Поэтому мы решили, что пора делиться нашим 10-летним опытом, помогать начинающим айтишникам быстрее и проще входить в IT.
А лучших — забирать в свою команду 😉
Как стать одним из них?
➡️ Все подробности ты узнаешь на бесплатном интенсиве 14-15 марта «ТОП профессия 2024 — Frontend-разработчик».
За 2 дня поймёшь:
➤ какие навыки помогают легко трудоустраиваться и быстро расти в IT карьере
➤ как можно за год выйти из позиции Junior в Middle и расти в доходе х3-х5
➤ где и как получить нужный опыт, чтобы компании сами предлагали тебе работу
✅ И всё это тебе расскажет технический директор Purrweb, спикер YaTalks Сергей Пономарев.
Регистрируйся и узнай больше о программе и бонусах за участие 👉Зарегистрироваться
👍3❤2🔥2
Sorted set
SortedSet — это интерфейс в Java Collection Framework, который предоставляет упорядочение элементов в множестве. Элементы упорядочиваются с помощью их естественного порядка или с помощью компаратора, который обычно предоставляется при создании отсортированного множества.
SortedSet имеет несколько дополнительных операций, которые позволяют использовать упорядочение элементов:
— first() и last() возвращают первый и последний элементы в множестве соответственно.
— headSet(), tailSet() и subSet() возвращают подмножества элементов, которые находятся до, после или между заданными элементами соответственно.
В этом примере мы создаем TreeSet (класс, который реализует SortedSet) и добавляем в него несколько строк. Поскольку строки реализуют интерфейс Comparable, они упорядочиваются в алфавитном порядке. Затем мы используем различные методы SortedSet для получения первого и последнего элементов, а также подмножеств элементов.
SortedSet — это интерфейс в Java Collection Framework, который предоставляет упорядочение элементов в множестве. Элементы упорядочиваются с помощью их естественного порядка или с помощью компаратора, который обычно предоставляется при создании отсортированного множества.
SortedSet имеет несколько дополнительных операций, которые позволяют использовать упорядочение элементов:
— first() и last() возвращают первый и последний элементы в множестве соответственно.
— headSet(), tailSet() и subSet() возвращают подмножества элементов, которые находятся до, после или между заданными элементами соответственно.
В этом примере мы создаем TreeSet (класс, который реализует SortedSet) и добавляем в него несколько строк. Поскольку строки реализуют интерфейс Comparable, они упорядочиваются в алфавитном порядке. Затем мы используем различные методы SortedSet для получения первого и последнего элементов, а также подмножеств элементов.
👍17🔥3❤2
Проверь насколько хорошо ты знаешь Java и готов освоить Spring!
Ответишь — пройдешь на продвинутый курс "Разработчик на Spring Framework" от OTUS по специальной цене.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2🔥2
Информационную систему сложно представить себе без аутентификации и авторизации - так или иначе нужно управлять доступом пользователя к тем или иным ресурсам. В четвёртом ролике серии речь пойдёт об обеспечении безопасности веб-приложения при помощи Spring Security и будет продемонстрирована настройка цепочки фильтров безопасности. В рамках ролика демонстрируется использование формы входа, Basic-аутентификации и применение OAuth 2.0/OpenID Connect.
В цикле роликов "Разработка проектов со Spring" автор рассказывает на простых примерах о процессе разработки веб-приложений и REST-сервисов на языке программирования Java с использованием экосистемы Spring. Данный цикл охватывает разработку классических и реактивных проектов, вопросы их сопровождения, такие как документация и мониториг, адаптацию их к облачной инфраструктуре и процесс их развёртывания в Docker и Kubernetes.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
SC24EP04 Безопасность веб-приложений - Разработка проектов со Spring #java #spring #security
Информационную систему сложно представить себе без аутентификации и авторизации - так или иначе нужно управлять доступом пользователя к тем или иным ресурсам. В четвёртом ролике серии речь пойдёт об обеспечении безопасности веб-приложения при помощи Spring…
👍15❤5
Как архитектору эффективно работать с принципом инверсии зависимостей?
Узнайте на бесплатном практическом уроке от OTUS, где вы вместе с опытным экспертом разберете:
▫️определение и обоснование принципа инверсии зависимостей;
▫️примеры использования принципа в различных паттернах проектирования;
▫️связь принципа инверсии зависимостей с остальными принципами SOLID;
▫️связь паттерна Адаптер, луковичной архитектуры и принципа инверсии зависимостей.
Занятие пройдёт 13 марта в 20:00 мск в рамках курса «Архитектура и шаблоны проектирования». После урока у вас будет возможность стать студентом программы по специальной цене и даже в рассрочку!
👉🏻 Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить запись: пройти тест
Узнайте на бесплатном практическом уроке от OTUS, где вы вместе с опытным экспертом разберете:
▫️определение и обоснование принципа инверсии зависимостей;
▫️примеры использования принципа в различных паттернах проектирования;
▫️связь принципа инверсии зависимостей с остальными принципами SOLID;
▫️связь паттерна Адаптер, луковичной архитектуры и принципа инверсии зависимостей.
Занятие пройдёт 13 марта в 20:00 мск в рамках курса «Архитектура и шаблоны проектирования». После урока у вас будет возможность стать студентом программы по специальной цене и даже в рассрочку!
👉🏻 Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить запись: пройти тест
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
❤3👍1🔥1
Абстракция в Java
Абстракция — это способность выделять существенные характеристики объекта и упускать несущественные.
Абстракция позволяет сосредоточиться на важных свойствах и поведении объекта, скрыв детали реализации.
В Java абстракция реализуется с помощью абстрактных классов и интерфейсов.
Абстрактный класс содержит абстрактные методы без реализации. Подклассы обязаны реализовать эти методы.
Интерфейс задает «контракт», описывая поведение классов без деталей реализации. Классы реализуют интерфейс.
Реализация абстракции требует тщательного анализа предметной области и выделения общих свойств объектов.
Абстракция — это способность выделять существенные характеристики объекта и упускать несущественные.
Абстракция позволяет сосредоточиться на важных свойствах и поведении объекта, скрыв детали реализации.
В Java абстракция реализуется с помощью абстрактных классов и интерфейсов.
Абстрактный класс содержит абстрактные методы без реализации. Подклассы обязаны реализовать эти методы.
Интерфейс задает «контракт», описывая поведение классов без деталей реализации. Классы реализуют интерфейс.
Реализация абстракции требует тщательного анализа предметной области и выделения общих свойств объектов.
🔥11❤4👍2
В данном видео автор рассказывает о Enum в языке программирования Java. Показывает разные варианты применения Enum на примерах.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Java. Enum на примерах.
В данном видео я рассказываю о Enum в языке программирования Java. Показываю разные варианты применения Enum на примерах.
Поддержать канал на Boosty:
https://boosty.to/arhitutorials
Наш чатик в Telegram:
https://t.me/ArhiTutorials
#arhitutorialsjava #ityoutubersru
Поддержать канал на Boosty:
https://boosty.to/arhitutorials
Наш чатик в Telegram:
https://t.me/ArhiTutorials
#arhitutorialsjava #ityoutubersru
👍13❤4🔥4
С бесплатного открытого урока «Многопоточность в 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:
— Хранение даты и времени с точностью до наносекунд.
— Получение различных компонентов даты/времени (год, месяц, день недели и т. д.).
— Выполнение операций сложения и вычитания дат и интервалов.
— Сравнение и сортировка дат по времени.
— Форматирование и парсинг строк по заданному шаблону.
Класс LocalDateTime используется для работы с датой и временем без учета часового пояса.
Он появился в Java 8 в пакете java.time и является частью новой date/time API, которая пришла на смену устаревшим классам Date и Calendar.
Основные возможности класса LocalDateTime:
— Хранение даты и времени с точностью до наносекунд.
— Получение различных компонентов даты/времени (год, месяц, день недели и т. д.).
— Выполнение операций сложения и вычитания дат и интервалов.
— Сравнение и сортировка дат по времени.
— Форматирование и парсинг строк по заданному шаблону.
👍17❤3
🎙Спикер Александр Царев — Tech Lead в Сбере и кандидат технических наук.
На вебинаре вы:
- узнаете, что такое дамп памяти, как его собрать и какие инструменты существуют для этих целей;
- познакомитесь с инструментом Eclipse Memory Analyzer, с помощью которого можно исследовать дампы памяти;
- получите ответы на все свои вопросы.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3🔥2
Бесплатный практический урок 💥«Эффекты в Scala на примере ZIO»💥
🔥 Спикер Алексей Воронец — руководитель разработки в «NAUMEN». На вебинаре:
- узнаем о предпосылках и истории возникновения ZIO;
- сформируем представление, какие задачи решают так называемые «функциональные эффекты» в целом и ZIO в частности;
- попрактикуемся в создании и комбинировании ZIO-эффектов.
Занятие пройдёт 25 марта в 20:00 мск в рамках курса «Scala-разработчик». Доступна рассрочка на обучение!
👉 Регистрируйтесь прямо сейчас, чтобы посетить бесплатный урок и получить запись: https://otus.pw/34S0/
🔥 Спикер Алексей Воронец — руководитель разработки в «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().
В цикле посимвольно читаем из буфера символы и выводим их на экран.
Метод charBuffer() используется для получения буфера символов из строки. Он принадлежит java.nio.
Этот метод возвращает объект CharBuffer, который представляет последовательность символов строки.
CharBuffer позволяет эффективно читать и манипулировать символами строки без создания копий.
В этом примере создается строка «Hello». Затем из этой строки получаем буфер символов методом charBuffer().
В цикле посимвольно читаем из буфера символы и выводим их на экран.
👍16🔥2❤1