seniorjavist | Unsorted

Telegram-канал seniorjavist - Senior Java Developer

-

Изучаем Java. По вопросам сотрудничества: @seniorvladislav

Subscribe to a channel

Senior Java Developer

Перед Новым годом все покупают подарки, колоссально повышая нагрузку на платежные системы.

7 декабря в 17:00 Мир Plat.Form (технологический бренд НСПК) проведёт онлайн-митап, на котором расскажет, как бэк-офис подготовился к повышению нагрузки в праздники и ускорил пропускную систему клиринга в 2,5 раза. Чтобы ни один подарок не остался не подаренным🎁

Вместе мы посмотрим, как устроена система, ответственная за проведение расчетов в ПС «Мир», и благодаря чему она справляется с рекордными нагрузками.

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

Присоединяйся – регистрация по ссылке.

Читать полностью…

Senior Java Developer

Что такое клиринг и как Тайная служба Деда Мороза профилирует Java-код?
Расскажут Product Owner и ведущий разработчик клиринга платежной системы «Мир» на онлайн-митапе.

🗓 7 декабря в 17:00 (МСК, GMT+3)
Ссылку на трансляцию вам отправят за 1 час до начала.

В программе:
Наталья Азисова — Что. Такое. Клиринг?
Как клиринг реализован в платежной системе «Мир». Как устроена его архитектура. Что сделали для подготовки к повышенной нагрузке системы в Новый год.

Александр Ланцов — Профилируем и ускоряем Java-приложения с помощью async-profiler и JFR на примере клиринга платежной системы «Мир»
Какие улучшения в коде клиринга были сделаны, чтобы оптимизировать производительность системы и какие инструменты для профилирования были использованы.

Общайтесь с участниками митапа и задавайте вопросы спикерам в чате трансляции. Авторы лучших вопросов получат подарки 🎁

Регистрация по ссылке.

Реклама. АО "НСПК". ИНН 7706812159.

Читать полностью…

Senior Java Developer

Какой оператор позволяет принудительно выбросить исключение?

Это оператор throw.

Читать полностью…

Senior Java Developer

Будет ли работать HashMap, если все добавляемые ключи будут иметь одинаковый hashCode()?

Ответ:
Да, будет, но в этом случае HashMap вырождается в связный список и теряет свои преимущества.

Читать полностью…

Senior Java Developer

Назовите основные классы потоков ввода/вывода.

Разделяют два вида потоков ввода/вывода:
байтовые - java.io.InputStream, java.io.OutputStream;
символьные - java.io.Reader, java.io.Writer.

Читать полностью…

Senior Java Developer

♨️ Прокачивай свои навыки вместе с Java | Фишки и трюки

Ежедневные порции Java-фишек, полезные советы и трюки от опытных разработчиков.

👉🏼 Присоединиться

Читать полностью…

Senior Java Developer

🔧В большинстве случаев Gradle используется в командах для довольно несложных задач и только для Kotlin-проектов, java. Между тем, он является очень мощным инструментом разработки для DevOps.

⚡30 ноября в 19.00 (мск) приглашаем на открытый урок курса “Kotlin Backend Developer Professional” в OTUS

📌На уроке обсудим:

- как выполнять сборку проектов, содержащих компоненты на C/C++, Rust, Go и др. языках; 

- как автоматически генерировать исходники с дальнейшей их компиляцией; 

- извлекать файлы из репозиториев для дальнейшей обработки;

- разрабатывать кастомные плагины;

- гибко управлять версиями; 

- собирать докер-образы. 

👉Регистрация для участия https://otus.pw/4za1/?erid=LjN8KNbZN

После урока вы сможете продолжить обучение, поступив в группу курса по специальной цене. Возможны разные способы и рассрочка платежа.

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

Читать полностью…

Senior Java Developer

Разница между загрузкой и инициализацией классов в Java на любопытном примере

Смотреть статью

Читать полностью…

Senior Java Developer

Тинькофф проведет первый Java-митап в Минске ☕️

Для первой встречи с комьюнити ребята подготовили три крутых доклада:

— разберем новую фичу Project Loom — посмотрим, как новые потоки влияют на код и на поведение самого приложения;
— расскажем об успехах и факапах, которые бывают у разработчиков;
— обсудим, есть ли жизнь после тимлидства.

После докладов будет неформальный нетворкинг!

📆 Tinkoff Java Meetup, 7 декабря, пространство «Бетон». Не забудьте зарегистрироваться и позвать с собой коллег.

erid:2VtzqxB99Yu
Реклама. АО "Тинькофф Банк", ИНН 7710140679, лицензия ЦБ РФ № 2673

Читать полностью…

Senior Java Developer

CompletableFuture

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

Основные возможности CompletableFuture включают:

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

#для_продвинутых

Читать полностью…

Senior Java Developer

👉 Пройдите тест на знание основ алгоритмом и оцените свой уровень. Тест подходит для любого языка программирования.

💪 Сможете сдать – получите запись мастер-класса по алгоритмам повышающий ваш уровень.

📌 Еще больше полезных знаний ждет вас на онлайн-курсе «Алгоритмы и структуры данных» в OTUS

🎁 Черная пятница в OTUS! Успейте получить скидку на курс!
Возможна оплата в рассрочку!

👉 Пройти тест: https://otus.pw/UIwN/?erid=LjN8KCmRE

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

Читать полностью…

Senior Java Developer

JVM internals

Статья объясняет внутреннюю архитектуру виртуальной машины Java (JVM).

Смотреть статью

Читать полностью…

Senior Java Developer

🥶 Забудь о Web2 Программировании: Переходи на Web3 и Зарабатывай От $60,000!

Если ты разработчик, но до сих пор не в теме Web3, то упустил множество возможностей. Middle Web3 разработчики уже зарабатывают от $5,000 до $8,000 в месяц!

🔎 Что такое Web3 в двух словах, и как стать мастером блокчейн-разработки?
🔎 Какие перспективы ждут именно тебя на рынке Web3, учитывая твой текущий стек?
🔎 Вакансии, зарплаты и требования к блокчейн-разработчикам: разберем на реальных примерах с рынка.
🔎 Как за 2 года увеличить доход до $5,000+ и стать Middle в Web3?
🔎 Апгрейд: как стать более востребованным, не меняя текущий стек?

✈️ И даже поделимся секретами релокации и работы в международной компании!

🗺 Построим личный роадмеп и разберем все это на 30-минутной бесплатной консультации:

Как действующему программисту расширить стек до Web3 и стать блокчейн-разработчиком на Solidity, увеличив доход в $ за несколько месяцев!

👨‍💼 Кто проводит?

Рекрутеры Crypton Studio — крупнейшей студии блокчейн-разработки в Европе (6 лет на рынке, более 160+ сотрудников, в числе которых 63% разработчиков, огромное портфолио из более чем 100 успешно реализованных проектов для клиентов из 20 стран). Они запустили новый проект MarniD и телеграм-канал, где можно учиться на их опыте!

Места на консультацию ограничены

Если ты действующий разраб, то переходи на сайт и оставляй заявку
ссылка

Команда свяжется с тобой и забронирует слот на Zoom! Узнай о своих возможностях на рынке будущего!

Читать полностью…

Senior Java Developer

Узнаем количество файлов в папке

В данном примере мы задаем путь к папке, получаем список файлов в этой папке с помощью метода listFiles(), а затем выводим количество файлов в папке с помощью свойства length массива файлов.

Читать полностью…

Senior Java Developer

Оцените количество памяти на хранение одного примитива типа byte в ArrayList?

ArrayList
основан на массиве, для примитивных типов данных осуществляется автоматическая упаковка значения, поэтому 16 байт тратится на хранение упакованного объекта и 4 байта (8 для x64) - на хранение ссылки на этот объект в самой структуре данных. Таким образом, в x32 JVM 4 байта используются на хранение одного элемента и 16 байт - на хранение упакованного объекта типа Byte. Для x64 - 8 байт и 24 байта соответственно.

Читать полностью…

Senior Java Developer

Создание игры на Java без сторонних библиотек, часть первая

Смотреть статью

Читать полностью…

Senior Java Developer

Что такое «интернационализация», «локализация»?

Интернационализация (internationalization)
- способ создания приложений, при котором их можно легко адаптировать для разных аудиторий, говорящих на разных языках.

Локализация (localization) - адаптация интерфейса приложения под несколько языков. Добавление нового языка может внести определенные сложности в локализацию интерфейса.

Читать полностью…

Senior Java Developer

Как разработчику увеличить доход?
Расширять список своих скиллов! Начать можно с бесплатного открытого урока «Шаблон проектирования ""Цепочка обязанностей""» (https://otus.pw/hze4/) от OTUS.

На вебинаре:
- рассмотрим превращение элементов поведения в объекты;
- проанализируем его на конкретном примере, формируя диаграмму классов;
- узнаем, как использовать шаблон «Цепочка обязанностей» для решения различных задач;
- покажем, как создать классы обработчиков и связать их в цепочку так, чтобы сообщение было обработано последовательно каждым обработчиком;
- разберем возможности настройки приоритета и условий обработки определенных сообщений.

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

Для бесплатного участия и получения записи пройдите короткое тестирование прямо сейчасhttps://otus.pw/xrfg/?erid=LjN8KLoJV

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

Читать полностью…

Senior Java Developer

⛔Как разработчику повысить свою ценность в команде?

Расскажем на бесплатном практическом уроке «Механизм implicits в Scala» от OTUS и Алексея Воронца – руководителя разработки в NAUMEN.

☕На вебинаре:
— Познакомимся с историей возникновения и мотивацией компонентов механизма.
— Разберем возможности и опасности implicit-преобразований.
— Узнаем, как и для чего служат implicit-параметры.
— Рассмотрим правила и требования, по которым Scala ищет подходящего implicit-кандидата.

📢 Занятие пройдёт 30 ноября в 20:00 мск и будет приурочено к старту курса «Scala-разработчик». После урока вы сможете продолжить обучение на специальных условиях.

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

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

Читать полностью…

Senior Java Developer

Что такое «интеграционное тестирование»?

Интеграционное тестирование (integration testing) — это тестирование, проверяющие работоспособность двух или более модулей системы в совокупности — то есть нескольких объектов как единого блока. В тестах взаимодействия же тестируется конкретный, определенный объект и то, как именно он взаимодействует с внешними зависимостями.

Читать полностью…

Senior Java Developer

Программа для преобразования десятичных чисел в шестнадцатеричные на Java

Воспользуемся методом Integer.toString().

Time complexity: O(N)
Auxiliary Space: O(1)

Читать полностью…

Senior Java Developer

Задача

Программа проверяет: ввел что-либо пользователь или нет.

Ответ на картинке.

Читать полностью…

Senior Java Developer

Переименовываем файл

Переименовать файл можно, переместив содержимое первого файла в новый файл и удалив предыдущий файл. Java обрабатывает эту операцию, используя метод resolveSibiling . Он используется для разрешения данного пути относительно родительского пути этого пути.

Читать полностью…

Senior Java Developer

Чем отличается LongAdder от AtomicLong?

LongAdder — это класс, введенный в Java 8, который представляет собой альтернативу классу AtomicLong для выполнения атомарных операций над переменными типа long. Он предоставляет более высокую производительность в некоторых сценариях, чем AtomicLong, особенно в случаях, когда множество потоков изменяют одну и ту же переменную.

Основные отличия LongAdder от AtomicLong:

LongAdder разделяет внутренние счетчики между потоками, что позволяет потокам увеличивать разные счетчики и объединять их при необходимости. Это уменьшает конкуренцию между потоками, что может повысить производительность.
— Когда несколько потоков одновременно увеличивают LongAdder, он автоматически разделяет изменения между внутренними счетчиками, таким образом, уменьшая ожидание блокировки.
— Для получения общей суммы всех внутренних счетчиков LongAdder предоставляет метод sum(), который объединяет значения счетчиков.

#для_продвинутых

Читать полностью…

Senior Java Developer

#вопросы_с_собеседований
Как преобразовать строку в целое число?

Ответ на картинке.

Читать полностью…

Senior Java Developer

Spring Data JPA: разница между методами findById, getOne, getById и findOne

JpaRepository Spring Data предоставляет огромный набор методов, упрощающих реализацию операций над базой данных.

Смотреть статью

Читать полностью…

Senior Java Developer

Извлекаем имя из адреса электронной почты

Метод extractNameFromEmail принимает строку с адресом электронной почты и возвращает подстроку до символа "@" (если символ "@" присутствует в строке) в качестве имени.

Читать полностью…

Senior Java Developer

Какие подклассы класса Reader вы знаете, для чего они предназначены?

Reader - абстрактный класс, описывающий символьный ввод;
BufferedReader - буферизованный входной символьный поток;
CharArrayReader - входной поток, который читает из символьного массива;
FileReader - входной поток, читающий файл;
FilterReader - абстрактный класс, предоставляющий интерфейс для классов-надстроек;
InputStreamReader - входной поток, транслирующий байты в символы;
LineNumberReader - входной поток, подсчитывающий строки;
PipedReader - входной канал;
PushbackReader - входной поток, позволяющий возвращать символы обратно в поток;
StringReader - входной поток, читающий из строки.

Читать полностью…

Senior Java Developer

ХОЧЕШЬ ПОВЫШЕНИЕ В 2023 ГОДУ? 😎🔥

Тогда самое время разобраться в микросервисной архитектуре и стать более востребованным специалистом.

🚀 Курс ведет действующий архитектор Кирилл Ветчинкин. Он успешно реализовал проекты для Мегафона, Теле2, ВСS Brокer. Постоянный спикер крупных IT-конференций.

Какие скиллы прокачаем:
📌 Декомпозиция систем на микросервисы, отталкиваясь от бизнес-домена.
📌 Встройка микросервисов в оргструктуру компании.
📌Организация перехода от монолитной системы к микросервисной.
Полная программа ТУТ 👉 https://microarch.ru/?utm_source=posev&utm_medium=erid2vtzqvmbtdn&utm_campaign=5

А самое главное — поддержка от спикера, чат с одногруппниками и полезные созвоны с разбором домашки.

📕 Сертификат об участии по итогам прохождения курса.

Узнай больше о курсе 👉 https://microarch.ru/?utm_source=posev&utm_medium=erid2vtzqvmbtdn&utm_campaign=5

Реклама. ИП Ветчинкин К.Е. ИНН: 773376451099

Читать полностью…

Senior Java Developer

Собеседование по Java. Разбор 1606 вопросов и ответов

Смотреть статью

Читать полностью…
Subscribe to a channel