Java Learning
19.3K subscribers
1.59K photos
1 video
3 files
963 links
№ 5079899194

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

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

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

Реклама на бирже - https://telega.in/c/Java_per_month
Download Telegram
Что будет выведено при выполнении кода?

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


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

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

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

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

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

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

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
🤔 Как это работает? — Паттерн 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
👍9
⚙️ Files.createTempFile()

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

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

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

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

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

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

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

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

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

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Вопрос на собеседовании

Что такое 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 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
⚙️ Stream.flatMapToInt()

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

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🚫 Антипаттерн недели: Использование явных циклов для поиска

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

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

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

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


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

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

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

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

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

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

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


Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Collectors.partitioningBy

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

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍7🔥4
⚙️ MethodHandle.invokeExact()

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

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