java_per_month | Unsorted

Telegram-канал java_per_month - Java Learning

13937

Обучающий канал по Java Ссылка для друга - https://t.me/+ZEYYht6-46w5MDM6 По всем вопросам @valentin_mascarov Реклама на бирже - https://telega.in/c/Java_per_month

Subscribe to a channel

Java Learning

RefactorFirst

RefactorFirst — это инструмент для Java-кода, помогающий определить и расставить по приоритетам классы, которые следует рефакторить в первую очередь. Он работает, сканируя код на наличие «божественных классов» (God Classes) и классов с высокой степенью связности.

«Божественных классов» — это классы, которые делают слишком много и, следовательно, являются плохо спроектированными. Они могут быть трудными для понимания, тестирования и сопровождения.

Java Learning 👩‍💻

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

Java Learning

#вопросы_с_собеседований
Расскажите про приведение типов. Что такое понижение и повышение типа?

Приведение типов — это преобразование переменной одного типа в другой.

Существует два вида приведения типов:
— Повышение типа (widening): автоматическое преобразование типа в другой, более широкий тип. Например, int в long. При этом не теряется точность, так как широкий тип может представить все значения узкого типа.
— Понижение типа (narrowing): явное приведение к более узкому типу, например double в int. Здесь возможна потеря точности, поэтому требуется явное приведение в коде.

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


Java Learning 👩‍💻

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

Java Learning

⚙️ String.startsWith() и String.endsWith()

В Java методы String.startsWith() и String.endsWith() проверяют, начинается или заканчивается строка на указанную подстроку. Это удобно для работы с текстами и валидации.

Java Learning 👩‍💻

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

Java Learning

⚡️Всероссийский Хакатон ФИЦ 2024

🚀Попробуйте себя в одном из предложенных кейсов:
1. Семантический делитель текстов: Разработать алгоритм, который сможет обеспечить точное разделение текста на блоки.

2. Контекстный перевод названий научных работ: Разработать переводчик, который будет переводить названия научных работ.

3. Прогнозирование бизнес драйверов: Разработать решение для задачи прогнозирования временных рядов бизнес-драйверов.

4. Система контроля и управления доступом: Разработка системы контроля и управления доступом.

И др. 16 кейсов смотрите на сайте: https://фиц2024.рф/hackathon 

Хакатон пройдет в 2 этапа: Отборочный этап в Онлайн, Финал в Офлайн.

🏆Призовой фонд: 6 000 000 руб.
🔥Дедлайн регистрации: 26 ноября, 23:59
📅Даты отборочного этапа: 29 ноября - 2 декабря
🦾Даты финала: 3 - 4 декабря

Зарегистрируйтесь для участия в хакатоне: https://фиц2024.рф/hackathon

#реклама
О рекламодателе

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

Java Learning

⚙️ String.replace()

В Java метод String.replace() заменяет все вхождения указанного символа или подстроки в строке на новое значение. Это удобно для модификации строк без необходимости создания сложных шаблонов.

Java Learning 👩‍💻

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

Java Learning

⚙️ Collections.reverse()

В Java метод Collections.reverse() изменяет порядок элементов в списке на обратный. Это удобно для работы с коллекциями, где требуется обратный порядок.

Java Learning 👩‍💻

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

Java Learning

⌛ Что будет выведено при выполнении кода?

Пояснение
⬇️

Метод divide вызывает исключение ArithmeticException, так как деление на ноль недопустимо. Исключение перехватывается в блоке catch, где его сообщение выводится. После этого выполняется блок finally, который всегда исполняется независимо от того, было исключение или нет.


Java Learning 👩‍💻

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

Java Learning

👩‍💻 Приглашаем вас принять участие в открытом уроке, который посвящён теме «Интернационализация и локализация в приложениях Spring». Вы узнаете, как эффективно реализовать процесс локализации в Spring-приложениях.

Мы рассмотрим работу с классом Locale, использование MessageSource в Spring Boot и без него, способы хранения и смены локали в веб-приложениях, а также локализацию в шаблонах Thymeleaf и сообщений Bean Validation.

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

🗓 25 ноября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Разработчик на Spring Framework» от Otus.

Программа вебинара:
✔️ Основы локализации в Spring.
✔️ Инициализация и конфигурация MessageSource.
✔️ Управление локалью в веб-приложениях.
✔️ Практические аспекты локализации.

Этот урок будет полезен Java-разработчикам с опытом 1–3 года, а также Kotlin-разработчикам.

🔗 Ссылка на регистрацию: https://clck.ru/3EhndR

🎁 Только в "Черную пятницу", скидки на курс до 15%! Подробности у менеджеров.

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

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

Java Learning

Разработчики, встречаемся 22 ноября – митап, который нельзя пропустить 😎

Закрываем осенний сезон крутыми хардовыми докладами и жаркими дискуссиями на конференции от Технохаба Сбера в Казани. Расскажем, как оптимизировать процесс разработки и уменьшить lead time, поделимся лучшими инженерными практиками, а также поговорим про ИТ-рынок труда.

Спикеры и темы:
✅ Владислав Ламзенков, Senior Java-разработчик: «JMH: как мы бенчим в Java»
✅ Искандер Габдрахманов, Java-разработчик: «Spring AOP – все про него знают и слышали, но часто ли его используют на самом деле?»
✅ Алия Хазиева, Project Manager: «Какие метрики помогут оптимизировать Agile-процессы команды разработки?»
✅ Лидер компетенции Екатерина Руденко, Лидер компетенции Василий Маркитан, Руководитель команды IT-подбора Седа Саакян: дискуссия «Реалии рынка труда против требований нанимающего руководителя»

Регистрируйтесь на митап IT Talk by Sber по ссылке 💚

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

Java Learning

ZipFile

ZipFile — это класс, который используется для чтения содержимого ZIP-архивов. Он позволяет вам перебирать записи в архиве, получать информацию о них и извлекать их содержимое.

Java Learning 👩‍💻

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

Java Learning

Semaphore

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

Поток должен получить разрешение, чтобы войти в критическую секцию.
Semaphore управляет набором разрешений (permits), а конструктор принимает количество разрешений.
Если разрешений нет, поток ставится в очередь до освобождения.

Метод acquire() получает разрешение, release() — освобождает.

Java Learning 👩‍💻

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

Java Learning

❓ Вопрос на собеседовании

Как работает CompletableFuture в Java, чем он отличается от Future, и как использовать метод thenCombine() для выполнения параллельных задач?

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

Пример использования ⚙️

import java.util.concurrent.CompletableFuture;

public class Main {
public static void main(String[] args) {
// Первая асинхронная задача
CompletableFuture<Integer> task1 = CompletableFuture.supplyAsync(() -> {
try {
Thread.sleep(1000); // Эмуляция задержки
} catch (InterruptedException e) {
e.printStackTrace();
}
return 10;
});

// Вторая асинхронная задача
CompletableFuture<Integer> task2 = CompletableFuture.supplyAsync(() -> 20);

// Комбинируем результаты двух задач
CompletableFuture<Integer> combined = task1.thenCombine(task2, Integer::sum);

// Получаем и выводим результат
combined.thenAccept(result -> System.out.println("Сумма: " + result));

// Ждем завершения всех задач (только для примера)
combined.join();
}
}

// Результат выполнения:
// Сумма: 30


Java Learning 👩‍💻

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

Java Learning

⚙️ Arrays.binarySearch()

В Java метод Arrays.binarySearch() выполняет бинарный поиск в отсортированном массиве, возвращая индекс найденного элемента. Если элемент не найден, возвращается отрицательное значение, указывающее потенциальную позицию вставки.

Java Learning 👩‍💻

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

Java Learning

⚙️ List.of()

В Java метод List.of() позволяет быстро создать неизменяемый список. Это удобно для создания небольших коллекций с фиксированным набором элементов.

Java Learning 👩‍💻

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

Java Learning

👩‍💻 Открытый урок «Знакомство с виртуальными потоками Java»

🗓 21 ноября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java Developer. Advanced» от Otus.

Легковесные потоки были введены во многих языках программирования, таких как Go, Kotlin и другие. Теперь Java догнала другие языки по этой функциональности.

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

✔️что такое виртуальные потоки;
✔️ чем они отличаются от обычных потоков;
✔️в чём плюсы и минусы их использования.

🔗 Ссылка на регистрацию: https://clck.ru/3EcE9J

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

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

Java Learning

Бесплатный интенсив: Java-разработчик: старт в профессии с нуля.

📆 Когда: 27-28 ноября в 19:00 по мск.

За два дня интенсива в прямом эфире, под руководством опытного Java-разработчика, вы сможете:


✔️ Познакомиться с синтаксисом и основными конструкциями языка Java.
✔️ Написать свой первый проект и определить, подходит ли вам профессия разработчика.
✔️ Создать Telegram-бота с нуля.
✔️ Узнать ответы интересующие вас вопросы.
✔️ Получить доступ к закрытому профессиональному сообществу.

🎁 Подарки для участников
интенсива: гайд «Как заговорить на сленге IT-специалистов», карта компетенций начинающего Java-разработчика и доступ в закрытое сообщество «Старт в Java» от Хекслета!


Реклама. ООО "ХЕКСЛЕТ РУС". ИНН 7325174845. erid:LjN8KWGqt

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

Java Learning

💡Что стоит за великими открытиями и масштабными проектами? Конечно, импульс! 

Импульс Т1 — ИТ-конференция для тех, кто ценит точность, стремится к новым открытиям и жаждет творческого огня. 

🔥Вас ждут: 

🟣вдохновляющие лекции от ведущих специалистов
🟣интересные дискуссии экспертов рынка
🟣нетворкинг и вечеринка late night lab
🟣питчи идей и еще много интересного

О чем поговорим?

🔹Как создавать условия для развития бизнеса и выращивать высокотехнологичных лидеров рынка?
🔹Как новые технологии помогают решать актуальные проблемы в различных отраслях?
🔹Где находится точка рождения новых знаний и что служит генератором новаторских идей?
🔹Как новые идеи изменят самого человека – его тело, мозг и душу?

🎤Среди спикеров конференции: Максут Шадаев, Василий Шпак, Евгений Абакумов, Наталья Касперская, Алексей Паламарчук, Игорь Ашманов и другие.

Регистрируйтесь прямо сейчас!

#реклама
О рекламодателе

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

Java Learning

⚙️ String.contains()

В Java метод String.contains() проверяет, содержится ли указанная подстрока в строке. Это удобный способ проверки наличия текста в строке.

Java Learning 👩‍💻

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

Java Learning

❓ Вопрос на собеседовании

Что такое метод finalize() в Java, как он работает и почему его использование не рекомендуется?

Ответ ⬇️
Метод finalize() вызывается перед тем, как объект удаляется сборщиком мусора (garbage collector). Он используется для освобождения ресурсов, таких как файловые дескрипторы или сетевые соединения. Однако его использование не рекомендуется из-за непредсказуемости вызова (точное время выполнения сборки мусора неизвестно) и потенциальных проблем с производительностью. Вместо этого рекомендуется использовать try-with-resources или явно закрывать ресурсы.

Пример использования ⚙️

class Resource {
@Override
protected void finalize() throws Throwable {
System.out.println("Ресурс освобожден!");
}
}

public class Main {
public static void main(String[] args) {
new Resource(); // Создаем объект без сохранения ссылки
System.gc(); // Явный вызов сборщика мусора (не гарантирует немедленного выполнения)

System.out.println("Завершение программы");
}
}


Java Learning 👩‍💻

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

Java Learning

👩‍💻 Обучение программированию с нуля

Друзья, появился новый канал по обучению разных IT технологий.

Изучение Python
Изучение JavaScript
Изучение HTML/CSS
Изучение Java
Изучение C/С++
Изучение С#
Изучение SQL


👉 Подписывайся на TechVibe, будет интересно.

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

Java Learning

⁉️ Хотите понять, как работают потоки ввода/вывода в Java? Готовы создать свой первый сетевой чат?

Приглашаем на бесплатный вебинар 4 декабря в 20:00 мск., который пройдет в рамках курса «Java-разработчик».
Мы покажем, как с нуля создать консольный сетевой чат на Java, освоить работу с сетью и разобраться в потоках ввода/вывода.

Спикер Александр Фисунов — Senior Kotlin Developer в SSP Software на проекте ВТБ, опытный Java-разработчик и кандидат технических наук.

Получите практический опыт работы с java. io, разберитесь, как работает сеть, и начните свой путь в мир профессиональной разработки на Java!

👉 Регистрируйтесь на вебинар прямо сейчас: https://clck.ru/3EigWv

🎁 Только в "Черную пятницу", скидки на курс до 15%! Подробности у менеджеров.

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

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

Java Learning

👩‍💻 Задача по Java: Проверка строки на наличие всех букв алфавита

Напишите функцию, которая проверяет, содержит ли строка все буквы английского алфавита (a-z). Игнорируйте регистр букв и символы, не являющиеся буквами.

Пример:

System.out.println(isPangram("The quick brown fox jumps over the lazy dog")); 
// Ожидаемый результат: true

System.out.println(isPangram("Hello, World!"));
// Ожидаемый результат: false


Решение задачи на картинке ☝️

Java Learning 👩‍💻

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

Java Learning

👩‍💻 Задача по Java: Проверка строки на наличие всех букв алфавита

Напишите функцию, которая проверяет, содержит ли строка все буквы английского алфавита (a-z). Игнорируйте регистр букв и символы, не являющиеся буквами.

Пример:

System.out.println(isPangram("The quick brown fox jumps over the lazy dog")); 
// Ожидаемый результат: true

System.out.println(isPangram("Hello, World!"));
// Ожидаемый результат: false


Решение задачи на картинке ☝️

Java Learning 👩‍💻

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

Java Learning

⚙️HashMap.getOrDefault()

В Java метод HashMap.getOrDefault() возвращает значение для заданного ключа, если он существует, или значение по умолчанию, если ключ отсутствует. Это удобный способ избежать проверки на наличие ключа.

Java Learning 👩‍💻

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

Java Learning

В эту среду собеседование на Middle Java с разработчиком из МТС

20 ноября (в среду) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Java-разработчика.

Как это будет:
1. Мария Ядерцова ведущий Java-разработчик в МТС Диджитал и ex. Сбербанк-Технологии будет задавать реальные вопросы и задачи разработчику-добровольцу
2. Мария будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью
3. В конце можно будет задать любой вопрос Марии

Что узнаешь на прямом эфире от ШОРТКАТ:
• Чего ждут от кандидатов на Middle позиции в Java-разработке
• Какие вопросы задают на интервью и зачем
• Как подготовиться к собесу, чтобы получить оффер

Это бесплатно? Бесплатно

Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_sh_bot

Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2Vtzqv84JiA

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

Java Learning

👩‍💻 Java — один из самых востребованных языков, но не каждый разработчик умеет использовать его возможности по максимуму.

На курсе «Java Developer. Professional» вы научитесь создавать современные Java-приложения, освоите Spring WebFlux и Kafka, а также разберётесь в работе JVM изнутри.

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

Начните свой путь к уровню Middle+! Используйте Java на 100%.

➡️ Пройти вступительный тест курса: https://clck.ru/3EfjnD

🎁 Только в "Черную пятницу", скидки на курс до 15%! Подробности у менеджеров.

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

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

Java Learning

⚙️ Comparator.reverseOrder()

В Java метод Comparator.reverseOrder() создаёт компаратор, который сортирует элементы в порядке убывания. Это удобно для работы с сортировкой коллекций, когда нужно изменить стандартный порядок.

Java Learning 👩‍💻

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

Java Learning

Друзья, планирую в историях публиковать разбор задачек с собеседований с подробными пояснениями от Senior Java разработчика из Яндекса, а также различные смешные мемасики.

Проголосуйте пожалуйста 👩‍💻

/channel/boost/Java_per_month

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

Java Learning

⚙️ Math.max()

В Java метод Math.max() позволяет найти большее из двух чисел. Он работает с различными типами данных, такими как int, double, float, и полезен в задачах сравнения.

Java Learning 👩‍💻

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

Java Learning

⌛ Что будет выведено при выполнении кода?

Пояснение
⬇️

Переменные sb1 и sb2 ссылаются на один и тот же объект StringBuilder. При вызове метода append изменения вносятся непосредственно в этот объект.

• sb1.append(" World") добавляет " World" к строке, делая её "Hello World".
• Затем sb2.append("!") добавляет "!" к той же строке, получая "Hello World!".
Так как объект изменяется напрямую, при выводе обе переменные показывают результат "Hello World!".


Java Learning 👩‍💻

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