Java Learning – Telegram
Java Learning
18.3K subscribers
1.62K photos
2 videos
3 files
1K links
№ 5079899194

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

Ссылка для друга - https://news.1rj.ru/str/+ZEYYht6-46w5MDM6

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

Реклама на бирже - https://telega.in/c/Java_per_month
Download Telegram
🗣️ Одинарные и двойные кавычки

Что ты ожидаешь в результате выполнения этого кода?

public class Haha {
public static void main(String args[]) {
System.out.print("H" + "a");
System.out.print('H' + 'a');
}
}


💬 Казалось бы, строка должна возвращать «HaHa», но на самом деле это будет «Ha169».

➡️ Двойные кавычки обрабатывают символы как строки, но одинарные кавычки ведут себя иначе. Они преобразуют символьные операнды ('H' и 'a') в целые значения посредством расширения примитивных типов — получается 169.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
System.currentTimeMillis или System.nanoTime?

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

➡️ Метод System.currentTimeMillis() возвращает текущее количество миллисекунд с начала эры Unix в формате Long. Его точность составляет от 1 до 15 тысячных долей секунды в зависимости от системы.

long startTime = System.currentTimeMillis();
long estimatedTime = System.currentTimeMillis() - startTime;


➡️ Метод System.nanoTime() имеет точность до одной миллионной секунды (наносекунды) и возвращает текущее значение наиболее точного доступного системного таймера.

long startTime = System.nanoTime();
long estimatedTime = System.nanoTime() - startTime;


Таким образом, метод System.currentTimeMillis() лучше применять для отображения и синхронизации абсолютного времени, а System.nanoTime() для измерения относительных интервалов времени.

Java Learning 👩‍💻
👍10
DeepSeek — самая мощная нейросеть в мире? Честно сравним и разберемся на примерах вместе с Кириллом Пшинником, СЕО университета Зерокодер.

⚡️Что ждет вас на вебинаре?

— Сравним DeepSeek-R1 и QWEN 2.5-Max с ChatGPT – кто быстрее, точнее и эффективнее?
— Покажем, как использовать DeepSeek без ограничений и блокировок;
— Разберем, как можно зарабатывать на нейросетях и какие вакансии будут востребованы в 2025 году.

👉 Регистрируйтесь прямо сейчас
Все участники получат готовые инструменты для работы с нейросетями. Эфир подойдет всем, кто хочет сэкономить время, монетизировать навыки и оставаться в тренде технологий 2025 года.

PS: Это первый полноценный практикум от экспертов по DeepSeek. Узнайте и погрузитесь в революционные изменения AI сферы по ссылке.

erid: 2W5zFGRGtCY
ООО Зерокодер, ИНН 9715401631
✔️ Гибкость интерфейсов

ℹ️ В Java есть возможность использовать интерфейсы как контракт для взаимодействия между классами.

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

🗣️ Это особенно полезно при развитии существующих проектов, где можно легко добавлять новые функциональные возможности.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤‍🔥1😱1
➡️ Работа с коллекциями с помощью Streams

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

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

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🟢 Локальные переменные в лямбда-выражениях

Java позволяет использовать локальные переменные внутри лямбда-выражений, но с одним важным ограничением: переменные должны быть эффективно финальными (effectively final).

❗️Это означает, что после их инициализации переменные не могут быть изменены.

🗣️ Использование локальных переменных в лямбда-выражениях может быть очень полезным для передачи дополнительных данных в лямбда-выражения

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
➡️ QueryDSL — гибкий фреймворк для создания типобезопасных запросов в Java

QueryDSL — это библиотека, которая позволяет строить типобезопасные SQL-запросы прямо на языке Java. Она поддерживает SQL, JPA, MongoDB и другие системы баз данных. Благодаря QueryDSL, разработчики могут писать сложные запросы без явного использования SQL, что значительно улучшает читаемость и поддержку кода.

🗣 QueryDSL — идеальный инструмент для тех, кто хочет писать сложные запросы, используя сильную типизацию и избегая SQL-инъекций.

🔗 Ссылочка на доку

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Please open Telegram to view this post
VIEW IN TELEGRAM
😁35❤‍🔥3
Ответ:
Anonymous Quiz
4%
6
16%
15
53%
123
27%
Error
👍9🤔5❤‍🔥2🔥1
➡️ Использование метода Optional.ifPresentOrElse() для обработки значения или выполнения альтернативного действия

Начиная с Java 9, метод Optional.ifPresentOrElse() позволяет выполнить действие, если значение присутствует, или выполнить другое действие, если значение отсутствует. Это помогает избавиться от лишних проверок на наличие значения.

• Optional.ifPresentOrElse() упрощает обработку значений и позволяет добавить fallback-логику в случае отсутствия значения.

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

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
👩‍💻🎯 Юнитесты на Java: как новичку поймать баги за 5 Секунд?

Приглашаем на открытый урок.

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

🦾 Тестирование — суперсила разработчика. Научитесь писать код, который проверяет сам себя, экономит часы на отладке и делает ваши приложения неуязвимыми.

О чём поговорим:
✔️ Что такое Unit-тесты? Для чего они нужны, даже если «код и так работает».
✔️ JUnit 5 для новичков: как установить и написать первый тест.
✔️ Тестирование = Дзен-кодинг: как тесты помогают понять свой код лучше вас самих.
✔️ Ловушки и лайфхаки: что делать, если тесты падают?

Кому будет интересно:
Начинающим Java-разработчикам, студентам и всем, кто хочет перестать бояться слов «тестирование» и «баги».

В результате вебинара вы:
Создадите свой первый тест на Java, поймёте, как тестировать методы с исключениями, и начнёте писать код, которым можно гордиться.

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

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
➡️ Использование метода Stream.takeWhile() для фильтрации данных

Stream.takeWhile() — это метод, который появился в Java 9 и позволяет получать элементы потока до тех пор, пока выполняется заданное условие. Как только условие перестаёт выполняться, поток завершает свою работу, и оставшиеся элементы не проверяются.

• takeWhile() полезен для работы с отсортированными данными, где нужно выбрать элементы, соответствующие определённому критерию, до первого неподходящего элемента.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
➡️ Javers — библиотека для отслеживания изменений в Java объектах

Javers — это мощная библиотека для отслеживания изменений в Java-объектах. Она помогает сохранять и сравнивать состояния объектов, что особенно полезно при необходимости ведения истории изменений данных. С помощью Javers можно легко отслеживать, какие поля были изменены и на какие значения.

🗣 Javers — отличный выбор для приложений, где важна история изменений объектов и их версионность.


🔗 Ссылочка на доку

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
➡️ Использование метода Collectors.collectingAndThen() для преобразования результатов коллектора

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

• collectingAndThen() упрощает код, предоставляя возможность применить пост-обработку к результату коллектора.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤‍🔥1
➡️ Tinylog — легковесная и простая библиотека логирования для Java

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

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

🔗 Ссылочка на доку

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤‍🔥1
➡️ Использование библиотеки Reflections для работы с классами и методами

Reflections — это небольшая, но мощная библиотека для Java, которая позволяет сканировать классы, методы, поля и аннотации во время выполнения. С её помощью можно быстро находить компоненты по заданным критериям, например, все классы, реализующие определённый интерфейс, или все методы, помеченные определённой аннотацией.

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

🔗 Ссылочка на доку

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

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

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Что такое Apache Commons Net?

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

Цель библиотеки:
— Предоставить базовый доступ к протоколам, а не высокоуровневые абстракции.
— Сделать разработку сетевых приложений Java более простой и удобной.

Как использовать Apache Commons Net?

1. Добавьте библиотеку в свой проект.
2. Включите необходимые пакеты в ваш код.
3. Создайте экземпляр класса, соответствующего нужному протоколу.
4. Используйте методы класса для взаимодействия с протоколом.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Fluent Interface

Fluent Interface (Текучий интерфейс) — это шаблон проектирования, который позволяет создавать код, читающийся как текст на естественном языке.

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

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤‍🔥2
Стирание типов

Стирание типов (type erasure) — это процесс, при котором информация о типах параметризованных типов (generic types) удаляется во время компиляции и не сохраняется во время выполнения программы.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍4❤‍🔥1🔥1