Получи случайную криптовалюту за регистрацию!

Senior Java Developer

Логотип телеграм канала @seniorjavist — Senior Java Developer S
Логотип телеграм канала @seniorjavist — Senior Java Developer
Адрес канала: @seniorjavist
Категории: Образование
Язык: Русский
Количество подписчиков: 22.30K
Описание канала:

Изучаем Java.
По вопросам сотрудничества: @adv_and_pr
Канал на бирже: https://telega.in/c/seniorjavist

Рейтинги и Отзывы

3.50

2 отзыва

Оценить канал seniorjavist и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

1

4 звезд

0

3 звезд

0

2 звезд

1

1 звезд

0


Последние сообщения 9

2023-05-05 13:27:28
Реализация паттерна Команда с использованием Lambda-выражений в Java

В этом посте мы поговорим о паттерне Команда и его реализации с использованием Lambda-выражений в Java. Паттерн Команда является поведенческим паттерном, который позволяет инкапсулировать запросы в виде объектов, что облегчает параметризацию, очередность и хранение запросов.

Lambda-выражения, введенные в Java 8, предоставляют синтаксический сахар для представления функциональных интерфейсов и позволяют писать более лаконичный и выразительный код. Использование Lambda-выражений значительно упрощает код и делает его более гибким и выразительным.

В этом примере, вместо создания отдельных классов для каждой команды, мы используем lambda-выражения, чтобы инкапсулировать действия в виде объектов. Затем мы добавляем команды в список и выполняем их последовательно с помощью метода executeCommands().
3.9K views10:27
Открыть/Комментировать
2023-05-04 21:10:48
Применение CompletableFuture в Java для асинхронного программирования

CompletableFuture
— это класс в Java, который предоставляет удобный API для работы с асинхронными вычислениями. CompletableFuture позволяет вам запускать задачи асинхронно и комбинировать их результаты без использования блокировок или других механизмов синхронизации.

В этом примере мы создаем два CompletableFuture, каждый из которых выполняет задачу в асинхронном режиме. Метод thenCombine() используется для объединения результатов двух Future, когда они оба доступны. В результате, мы получаем новый CompletableFuture, который завершится после того, как оба исходных Future будут завершены и вернет сумму их результатов.

Обратите внимание на то, что весь код асинхронен, и основной поток не блокируется во время ожидания завершения Future.
4.0K views18:10
Открыть/Комментировать
2023-05-04 14:03:47
Реализация модели акторов с использованием Akka в Java

Сегодня мы углубимся в мир параллелизма и поговорим о модели акторов, используя библиотеку Akka в Java. Это современный подход к обработке параллельных процессов, и его основное преимущество - это абстрагирование от низкоуровневых деталей, таких как блокировки и потоки.

Модель акторов представляет собой математическую модель параллельных вычислений, которая рассматривает "акторы" как примитивы параллельного вычисления: в ответ на сообщение, которое получает актор, он может делать локальные вычисления, создавать больше акторов, отправлять больше сообщений и определять, как реагировать на следующее полученное сообщение.

В данном коде мы создали актор SimpleActor, который может получать сообщения типа String. В ответ на полученное сообщение, он просто логирует его. Если актор получает сообщение, которое не является строкой, он также логирует, что получил неизвестное сообщение.
4.0K views11:03
Открыть/Комментировать
2023-05-03 15:56:22Что такое ключевое слово final и где его использовать?

Ключевое слово final можно использовать для переменных, методов и классов.
final переменную нельзя переназначить на другой объект.
final класс бесплоден)) у него не может быть наследников.
final метод не может быть переопределен у предка.

final переменные

Java дает нам два способа создать переменную и присвоить ей некоторое значение:
Можно объявить переменную и инициализировать ее позже.
Можно объявить переменную и сразу же назначить ее.
Пример с использованием final переменной для этих случаев:
4.0K views12:56
Открыть/Комментировать
2023-05-02 18:02:07
Кто сегодня являются первыми среди первых для работодателей в мире IT?

Возможно, это Cloud Solution Architecture - те самые специалисты, которые формируют устойчивые облачные цепочки, управляют ими, оптимизируют.

Начни свой левел-ап в мир облачной архитектуры с открытого урока «Supply Chain Management (SCM) в Облаке. AWS CloudFormation».

Занятие приурочено к новому запуску курса «Cloud Solution Architecture» в Отус и пройдет 10 мая в 20.00 (мск).

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

- Рассмотрим AWS SAM для serverless
- Познакомимся с Cloudformation
- Изучим основные сущности
- Проведем демонстрацию развертывания инфраструктуры через Cloudformation

Участие в уроке бесплатное! Требуется вступительный ТЕСТ https://otus.pw/tPaI/

Преподаватель:
Андрей Поляков - старший разработчик в Unlimint

Продолжить изучение практик по работе над архитектурой облачных решений вы сможете на курсе «Cloud Solution Architecture». Сейчас возможны разные способы оплаты обучения. Дополнительный бонус для студентов курса - доступ к AWS. Нативная интеграция. Информация о продукте www.otus.ru
2.5K views15:02
Открыть/Комментировать
2023-05-02 15:45:53Final методы

Когда метод маркирован как final, его называют final метод (логично, правда?). Final метод нельзя переопределять у класса наследника.

К слову, методы в классе Object — wait() и notify() — это final, поэтому у нас нет возможность их переопределять.

Как и где использовать final в Java

использовать ключевое слово final, чтобы определить некоторые константы уровня класса;
создавать final переменные для объектов, когда вы не хотите, чтобы они были изменены. Например, специфичные для объекта свойства, которые мы можем использовать для целей логирования;
если не нужно, чтобы класс был расширен, отметить его как окончательный;
если нужно создать immutable< класс, нужно сделать его финальным;
если нужно, чтоб реализация метода не менялась в наследниках, обозначить метод как final. Это очень важно, чтобы быть уверенным, что реализация не изменится.
2.9K views12:45
Открыть/Комментировать
2023-05-01 22:33:33 #вопросы_с_собеседований
Как файлы cookie работают в сервлетах?

Файлы cookie – это текстовые данные, отправляемые сервером клиенту и сохраняемые на локальном компьютере клиента.
Servlet API обеспечивает поддержку файлов cookie через класс javax.servlet.http.Cookie, который реализует интерфейсы Serializable и Cloneable.
Метод HttpServletRequest getCookies() предоставляется для получения массива файлов cookie из запроса, поскольку нет смысла добавлять файлы cookie в запрос, нет методов для установки или добавления файлов cookie в запрос.
Аналогичным образом предоставляется метод HttpServletResponse addCookie(Cookie c) для прикрепления файла cookie в заголовке ответа, методы получения для cookie отсутствуют.
3.4K views19:33
Открыть/Комментировать
2023-05-01 17:25:15 #вопросы_с_собеседований
В чем разница между execute, executeQuery, executeUpdate?

Выполнение инструкции(строковый запрос) используется для выполнения любого SQL-запроса и возвращает TRUE, если результатом является ResultSet, такой как выполнение запросов Select. Выходные данные – ЛОЖЬ, если нет объекта ResultSet, такого как выполняющиеся запросы Insert или Update. Мы можем использовать getResultSet(), чтобы получить ResultSet, и метод getUpdateCount(), чтобы получить счетчик обновлений.
Оператор executeQuery(строковый запрос) используется для выполнения запросов Select и возвращает ResultSet. Возвращаемый ResultSet никогда не является нулевым, даже если нет записей, соответствующих запросу. При выполнении запросов select мы должны использовать метод executeQuery, чтобы, если кто-то попытается выполнить оператор вставки / обновления, он выбросит java.sql.SQLException с сообщением «Метод executeQuery не может использоваться для обновления».
Оператор executeUpdate (строковый запрос ) используется для выполнения операторов Insert / Update / Delete (DML) или операторов DDL, которые ничего не возвращают. Результат – int и равен количеству строк для операторов языка манипулирования данными SQL (DML). Для операторов DDL на выходе будет 0.
3.7K views14:25
Открыть/Комментировать
2023-04-30 21:02:28 #вопросы_с_собеседований
Из за чего может возникать NoClassDefFoundError, NoSuchMethodError?

NoClassDefFoundError может возникнуть, если нужной библиотеки с этим классом нет в classpath
NoSuchMethodError может возникнуть из-за несовместимости ваших библиотек, если зависимая библиотека A вызывает метод из старой версии библиотеки B, но в classpath есть более новая версия библиотеки B, c другой сигнатурой этого метода
3.8K views18:02
Открыть/Комментировать
2023-04-29 13:02:01
ReentrantLock

Примитив синхронизации, с помощью которого можно установить границы критической секции. Тред, перед входом в критическую секцию должен сделать захват c операцией lock(), после выхода из крит. секции — сделать unlock(). Другой тред в это время ожидает на lock'е (можно указывать таймаут ожидания), либо может проверить доступность через tryLock().

ReentrantLock обязательно нужно освобождать (такое кол-во раз, сколько раз он был захвачен), в противном случае будет thread starvation у других тредов, ожидающих у границы критической секции.
ReentrantLock может быть «честным» (fairness = true), тогда приоритет отдается тредам, ждущих на нем наибольшее кол-во времени, но это вроде как уменьшает производительность
1.9K views10:02
Открыть/Комментировать