Java Learning
19.5K subscribers
1.6K photos
1 video
3 files
972 links
№ 5079899194

Обучающий канал по Java

Ссылка для друга - https://t.iss.one/+ZEYYht6-46w5MDM6

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/Java_per_month
Download Telegram
⚙️ Stream.flatMap()

В Java метод Stream.flatMap() используется для преобразования каждого элемента потока в другой поток и «выпрямления» (объединения) этих потоков в один. Это полезно для работы со вложенными структурами данных, такими как списки списков.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍5
⚙️ Class.getDeclaredMethods()

Метод Class.getDeclaredMethods() позволяет получить массив всех методов класса, включая приватные, защищённые и публичные методы. Это полезно для рефлексии и анализа структуры классов во время выполнения программы.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Что будет выведено при выполнении кода?

Пояснение
⬇️
Два потока вызывают increment() по 1000 раз каждый. Метод increment() синхронизирован, что предотвращает одновременный доступ. В итоге counter увеличивается на 2000 без гонок.


Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Стань участником МТС True Tech Champ 2025 — масштабного ИТ-чемпионата по программированию с призовым фондом 10 250 000 рублей.

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

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

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

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

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

Регистрируйся до 20 октября по ссылке.
⚙️ String.intern()

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

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
⚙️ Устранение автобоксинга

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

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

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

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9😢1
⚙️ Class.forName()

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

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
Уже разобрался в методах и классах Java? Пора применять знания на практике 🔵

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

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

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

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

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

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

Реклама
Please open Telegram to view this post
VIEW IN TELEGRAM
Что будет выведено при выполнении кода?

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


Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
👍4
⚙️ MethodHandles.publicLookup()

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

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Один AI вместо десяти сервисов: тексты, визуал, аналитика и даже видео — всё это в Perplexity.

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

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

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

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

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

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

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

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Быстрый поиск подстроки: Кнут–Моррис–Пратт на практике!

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

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

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

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

https://otus.pw/VVrR/

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

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

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
🤔 Как это работает? — Паттерн Singleton в Java

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

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

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

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


Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
⚙️ Files.createTempFile()

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

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Как превратить облачную инфраструктуру в код: открытый вебинар OTUS

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

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

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

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

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

https://otus.pw/nZee/

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

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

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM