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

Как я пишу open source игру на Java

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

Java Learning 👩‍💻

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

Java Learning

⚙️ MethodHandles.privateLookupIn

Метод MethodHandles.privateLookupIn позволяет получить доступ к приватным методам, полям и конструкторам класса через MethodHandle. Это мощный и редкий инструмент для работы с закрытыми членами классов.

Java Learning 👩‍💻

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

Java Learning

⚙️ MethodHandle.invokeExact()

Метод MethodHandle.invokeExact() из пакета java.lang.invoke позволяет вызывать метод или конструктор через ссылку MethodHandle. Это мощный инструмент для динамического вызова методов с высокой производительностью.

Java Learning 👩‍💻

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

Java Learning

☄️Как устроено автодополнение в поисковых системах?

🗓 8 октября в 20:00 МСК приглашаем на открытый урок OTUS «Как вырастить префиксное дерево». На вебинаре мы пошагово построим префиксное дерево (Trie) для слов из большого текста, добавим счётчики частот и реализуем автодополнение. Вы увидите, как по первым буквам мгновенно находятся все слова с этим префиксом и выводятся самые популярные варианты продолжений.

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

Открытый урок проходит в преддверие старта курса «Алгоритмы и структуры данных». Все участники получат скидку на обучение.

👉Зарегистрируйтесь сейчас и узнайте, как вырастить своё первое Trie-дерево: https://otus.pw/pBxd/


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

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

Java Learning

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

Пояснение
⬇️

Метод append добавляет " World" в конец строки, а insert вставляет запятую на позицию 5 (после Hello). Результирующая строка: Hello, World. Код выполняется корректно.


Java Learning 👩‍💻

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

Java Learning

⚙️ Stream.flatMapToInt()

Метод Stream.flatMapToInt() используется для преобразования элементов потока в другой поток примитивов int. Это удобно для обработки вложенных структур данных и работы с примитивами.

Java Learning 👩‍💻

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

Java Learning

⚙️ Files.probeContentType()

Метод Files.probeContentType() определяет тип содержимого файла (MIME type). Это полезно для работы с различными типами данных в файлах.

Java Learning 👩‍💻

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

Java Learning

⚙️ MethodHandles.arrayElementGetter()

Метод MethodHandles.arrayElementGetter() позволяет создать MethodHandle, который получает элементы из массива. Это полезно для работы с массивами через рефлексию.

Java Learning 👩‍💻

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

Java Learning

Как превратить облачную инфраструктуру в код: открытый вебинар OTUS

У вас уже развернута инфраструктура в облаке, но манифестов Terraform под неё нет? Это не редкость. Но хорошая новость в том, что руками переписывать всё с нуля не обязательно.

На открытом вебинаре курса OTUS «Infrastructure as a Code» Алексей Журавлёв покажет, как импортировать текущее состояние облака и на его основе автоматически генерировать рабочие Terraform-конфигурации.

Что разберём:
— terraform import и работу со state-файлами
— инструменты генерации HCL-кода
— лучшие практики и подводные камни

Кому будет полезно: DevOps-инженерам, системным администраторам, архитекторам и разработчикам, работающим с облаками.

📅 Когда: 25 сентября, 20:00
📍 Бесплатно, онлайн
👉 Регистрируйтесь:

https://otus.pw/nZee/

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

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

Java Learning

🤔 Как это работает? — Паттерн Singleton в Java

Singleton — это паттерн проектирования, который гарантирует, что у класса есть только один экземпляр. Он часто используется для управления ресурсами, такими как подключения к базе данных. Давайте разберём реализацию.

➡️ Как это работает:

• Поле instance хранит единственный экземпляр класса.
• Конструктор private, чтобы предотвратить создание новых экземпляров.
• Метод getInstance() создаёт экземпляр только при первом вызове (ленивая инициализация).

Развернутый аналог:

// Экземпляр можно также создавать сразу, а не лениво:
private static final Singleton instance = new Singleton();


Java Learning 👩‍💻

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

Java Learning

Быстрый поиск подстроки: Кнут–Моррис–Пратт на практике!

Разберём алгоритм Кнута–Морриса–Пратта (КМП): почему он работает за линейное время и как «переиспользует» уже найденные совпадения. Покажем, где наивный подход теряет секунды (и деньги), а КМП — нет.

После вебинара вы:
— понимаете префикс-функцию и логику «сдвигов»;
— умеете сравнить наивный поиск и КМП на реальных данных;
— знаете, как внедрить быстрый поиск в проде.

⏰ Урок пройдёт 24 сентября в 20:00 МСК в преддверие старта курса «Алгоритмы и структуры данных». Всем участникам — персональные условия обучения.

👉 Для участия зарегистрируйтесь:

https://otus.pw/VVrR/

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

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

Java Learning

Один AI вместо десяти сервисов: тексты, визуал, аналитика и даже видео — всё это в Perplexity.

Использовать разные сервисы для контента, аналитики, видео и кода — дорого, сложно и отнимает время.

На бесплатном вебинаре от Зерокодер мы покажем, как:

– Собрать презентацию, визуал, игру и текст с помощью Perplexity;
– Экономить ресурсы, заменяя целую команду инструментов одним;
– Получать идеи для монетизации ИИ прямо в процессе работы;
– Настроить рабочие процессы с помощью Perplexity так, чтобы он реально ускорял решение задач.

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

Бонус: в конце практикума расскажем как получить годовую подписку Perplexity Pro бесплатно (обычная стоимость – 240$).

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

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

Java Learning

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

Пояснение
⬇️

Переменная counter является статической, поэтому она общая для всех экземпляров класса Test. Каждый раз при создании нового объекта конструктора Test значение counter увеличивается. После создания трёх объектов значение переменной counter будет равно 3.


Java Learning 👩‍💻

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

Java Learning

⚙️ Class.forName()

Метод Class.forName() в Java используется для загрузки класса по его имени во время выполнения. Это полезно для рефлексии и динамической работы с классами, которые неизвестны на этапе компиляции.

Java Learning 👩‍💻

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

Java Learning

⚙️ String.intern()

Метод String.intern() в Java возвращает каноническое представление строки из пула строк (string pool). Если строка уже есть в пуле, возвращается ссылка на неё. Это позволяет экономить память и ускорять сравнение строк.

Java Learning 👩‍💻

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

Java Learning

МТС приглашает всех, кто пишет на С++, Go, Python, JS, Java, C# и других языках, на True Tech Champ — всероссийский чемпионат по программированию. Соревнование будет проходить в двух треках.

Трек 1. Алгоритмический. Индивидуальный зачет [призовой фонд 2 750 000 рублей]


Реши задачи, которые помогут прокачаться в работе с алгоритмами и структурами данных. Похожие задания встречаются на собеседованиях в МТС и других крупных компаниях. До 240 лучших участников попадут в финал и сразятся в лайв-кодинге.

Трек 2. Программирование роботов. Командный формат [призовой фонд 7 500 000 рублей]

Проведи робота по виртуальному лабиринту, затем управляй им дистанционно на офлайн-полигоне, а в финале — пройди испытания на реальной площадке и выбей соперников с платформы.

🎁 Организаторы отправят командам финалистов по одному роботу Waveshare Cobra Flex для кастомизации. После соревнований они останутся у участников в качестве подарка.

📍 Зрелищный шоу-финал с ИИ-технологиями, кодерскими челленджами и выступлениями международных и российских спикеров пройдет 21 ноября в МТС Live Холл.

Стоит участвовать, чтобы:
— Освежить знания и прокачать новые навыки.
— Заявить о себе на всю страну, получить карьерный буст и шанс лично пообщаться с HR-специалистами МТС.

⏰ Регистрация участников до 20 октября на сайте.

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

Java Learning

⚙️ Stream.generate()

Метод Stream.generate() используется для создания бесконечного потока элементов, генерируемых функцией. Это полезно для создания потоков случайных данных, шаблонов или повторяющихся значений.

Java Learning 👩‍💻

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

Java Learning

⚙️ Collectors.partitioningBy

Метод partitioningBy из класса Collectors используется для разделения элементов потока на две группы, основываясь на предикате. Он возвращает карту с двумя списками: одна группа удовлетворяет предикату, другая — нет.

Java Learning 👩‍💻

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

Java Learning

⚙️ Files.isReadable()

Метод Files.isReadable() из java.nio.file проверяет, доступен ли файл для чтения. Это полезно для предварительной проверки перед открытием файла.

Java Learning 👩‍💻

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

Java Learning

🚫 Антипаттерн недели: Использование явных циклов для поиска

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

✔️ Используйте Stream API для лаконичного и производительного поиска элементов.

Java Learning 👩‍💻

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

Java Learning

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

Что такое Optional.empty(), и как оно помогает избежать null в Java?

Ответ ⬇️
Optional.empty() — это метод в классе Optional, который возвращает пустой объект Optional, указывающий на отсутствие значения. Вместо использования null, Optional помогает явно работать с отсутствующими значениями, минимизируя вероятность NullPointerException. Он предоставляет методы, такие как orElse, orElseThrow, и ifPresent, для управления ситуациями, когда значение отсутствует.

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

import java.util.Optional;

public class Main {
public static void main(String[] args) {
Optional<String> optional = Optional.empty();

// Проверка наличия значения
System.out.println(optional.orElse("Значение отсутствует")); // Значение отсутствует

// Работа с методом ifPresent
optional.ifPresent(value -> System.out.println("Значение: " + value));
}
}


Java Learning 👩‍💻

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

Java Learning

⚙️ Files.copy()

Метод Files.copy() позволяет копировать содержимое файлов или потоков данных.

Java Learning 👩‍💻

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

Java Learning

⚙️ MethodHandles.insertArguments()

Метод MethodHandles.insertArguments() в Java позволяет создавать новый MethodHandle, в котором заранее фиксируются значения для некоторых аргументов метода. Это полезно для частичного применения аргументов к методам и упрощения их вызова.

Java Learning 👩‍💻

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

Java Learning

⚙️ Files.createTempFile()

Метод Files.createTempFile() из пакета java.nio.file используется для создания временного файла, который можно использовать для временного хранения данных. Это удобно для работы с временными данными, которые не нужно сохранять надолго.

Java Learning 👩‍💻

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

Java Learning

FXGL

FXGL (FX Game Library) — это библиотека для разработки игр на Java, основанная на JavaFX 8. Она обеспечивает простой и удобный интерфейс для создания 2D-игр, а также включает в себя множество функций, необходимых для создания полноценных игр.

Java Learning 👩‍💻

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

Java Learning

⚙️ Files.walk()

Метод Files.walk() из пакета java.nio.file используется для рекурсивного обхода файлов и директорий. Это удобный инструмент для работы с иерархическими файловыми структурами.

Java Learning 👩‍💻

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

Java Learning

⚙️ MethodHandles.publicLookup()

Метод MethodHandles.publicLookup() в Java предоставляет доступ к публичным методам и полям класса с использованием MethodHandle. Это мощный инструмент для выполнения операций рефлексии с высокой производительностью.

Java Learning 👩‍💻

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

Java Learning

Уже разобрался в методах и классах Java? Пора применять знания на практике 🔵

На связи Всероссийский чемпионат по искусственному интеллекту RuCode!

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

Задания уже опубликованы, а 26 октября закроется приём задач. Торжественное награждение лучших из лучших состоится 13 ноября в Москве.

🔵Возможность найти стажировку мечты и карьерные консультации
🔵Сертификат МФТИ о дополнительном образовании, бесплатные курсы и интенсивы по ИИ
🔵Задачи на реальных данных компаний
🔵Практический опыт и плюс в портфолио
🔵Обмен знаниями и повышение квалификации
🔵Крутые призы: игровая приставка Nintendo Switch 2, умная колонка SberBoom, фирменный мерч

Всё это ждёт вас на чемпионате по ИИ от RuCode!

Скорее регистрируйтесь, чтобы не упустить столько возможностей!

Реклама

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

Java Learning

⚙️ Устранение автобоксинга

Автобоксинг (преобразование примитивов в объекты) в Java приводит к накладным расходам в циклах. Для массивов чисел вместо коллекций, таких как ArrayList<Integer>, используйте примитивные массивы.

❌ Проблема: Использование Integer приводит к накладным расходам на упаковку и распаковку значений.

✔️ Решение: Используйте массивы примитивов (int[]) вместо коллекций объектов.

Java Learning 👩‍💻

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

Java Learning

Стань участником МТС True Tech Champ 2025 — масштабного ИТ-чемпионата по программированию с призовым фондом 10 250 000 рублей.

Соревнования пройдут в двух треках:

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

2. Программирование роботов
Оживи робота с помощью кода, чтобы он прошел лабиринт быстрее всех. Трек будет интересен разработчикам: С++, Go, Python, JS, Java, C# и не только.

Участвовать могут школьники, студенты, начинающие ИТ-специалисты и опытные разработчики. Отборочные этапы пройдут онлайн, шоу-финал — 21 ноября в МТС Live Холл в Москве.

Ты можешь выйти на арену как участник или наблюдать за чемпионатом как зритель.

Регистрируйся до 20 октября по ссылке.

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