⚙️ Устранение автобоксинга
Автобоксинг (преобразование примитивов в объекты) в Java приводит к накладным расходам в циклах. Для массивов чисел вместо коллекций, таких как ArrayList, используйте примитивные массивы.
❌ Проблема: Использование Integer приводит к накладным расходам на упаковку и распаковку значений.
✔️ Решение: Используйте массивы примитивов (int[]) вместо коллекций объектов.
👩💻
@javaquiz
Автобоксинг (преобразование примитивов в объекты) в Java приводит к накладным расходам в циклах. Для массивов чисел вместо коллекций, таких как ArrayList, используйте примитивные массивы.
❌ Проблема: Использование Integer приводит к накладным расходам на упаковку и распаковку значений.
✔️ Решение: Используйте массивы примитивов (int[]) вместо коллекций объектов.
👩💻
@javaquiz
👍2👎2
⚙️ Class.forName()
Метод Class.forName() в Java используется для загрузки класса по его имени во время выполнения. Это полезно для рефлексии и динамической работы с классами, которые неизвестны на этапе компиляции.
👩💻
@javaquiz
Метод Class.forName() в Java используется для загрузки класса по его имени во время выполнения. Это полезно для рефлексии и динамической работы с классами, которые неизвестны на этапе компиляции.
👩💻
@javaquiz
👍4
🎉3
⚙️ MethodHandles.publicLookup()
Метод MethodHandles.publicLookup() в Java предоставляет доступ к публичным методам и полям класса с использованием MethodHandle. Это мощный инструмент для выполнения операций рефлексии с высокой производительностью.
👩💻
@javaquiz
Метод MethodHandles.publicLookup() в Java предоставляет доступ к публичным методам и полям класса с использованием MethodHandle. Это мощный инструмент для выполнения операций рефлексии с высокой производительностью.
👩💻
@javaquiz
👍1
FXGL
FXGL (FX Game Library) — это библиотека для разработки игр на Java, основанная на JavaFX 8. Она обеспечивает простой и удобный интерфейс для создания 2D-игр, а также включает в себя множество функций, необходимых для создания полноценных игр.
👩💻
@javaquiz
FXGL (FX Game Library) — это библиотека для разработки игр на Java, основанная на JavaFX 8. Она обеспечивает простой и удобный интерфейс для создания 2D-игр, а также включает в себя множество функций, необходимых для создания полноценных игр.
👩💻
@javaquiz
🤔 Как это работает? — Паттерн Singleton в Java
Singleton — это паттерн проектирования, который гарантирует, что у класса есть только один экземпляр. Он часто используется для управления ресурсами, такими как подключения к базе данных. Давайте разберём реализацию.
➡️ Как это работает:
• Поле instance хранит единственный экземпляр класса.
• Конструктор private, чтобы предотвратить создание новых экземпляров.
• Метод getInstance() создаёт экземпляр только при первом вызове (ленивая инициализация).
Развернутый аналог:
// Экземпляр можно также создавать сразу, а не лениво:
private static final Singleton instance = new Singleton();
👩💻
@javaquiz
Singleton — это паттерн проектирования, который гарантирует, что у класса есть только один экземпляр. Он часто используется для управления ресурсами, такими как подключения к базе данных. Давайте разберём реализацию.
➡️ Как это работает:
• Поле instance хранит единственный экземпляр класса.
• Конструктор private, чтобы предотвратить создание новых экземпляров.
• Метод getInstance() создаёт экземпляр только при первом вызове (ленивая инициализация).
Развернутый аналог:
// Экземпляр можно также создавать сразу, а не лениво:
private static final Singleton instance = new Singleton();
👩💻
@javaquiz
👍1
⚙️ MethodHandles.insertArguments()
Метод MethodHandles.insertArguments() в Java позволяет создавать новый MethodHandle, в котором заранее фиксируются значения для некоторых аргументов метода. Это полезно для частичного применения аргументов к методам и упрощения их вызова.
👩💻
@javaquiz
Метод MethodHandles.insertArguments() в Java позволяет создавать новый MethodHandle, в котором заранее фиксируются значения для некоторых аргументов метода. Это полезно для частичного применения аргументов к методам и упрощения их вызова.
👩💻
@javaquiz
⚙️ MethodHandles.arrayElementGetter()
Метод MethodHandles.arrayElementGetter() позволяет создать MethodHandle, который получает элементы из массива. Это полезно для работы с массивами через рефлексию.
👩💻
@javaquiz
Метод MethodHandles.arrayElementGetter() позволяет создать MethodHandle, который получает элементы из массива. Это полезно для работы с массивами через рефлексию.
👩💻
@javaquiz
👍1
⚙️ Files.copy()
Метод Files.copy() позволяет копировать содержимое файлов или потоков данных.
👩💻
@javaquiz
Метод Files.copy() позволяет копировать содержимое файлов или потоков данных.
👩💻
@javaquiz
👍3
⚙️ Files.probeContentType()
Метод Files.probeContentType() определяет тип содержимого файла (MIME type). Это полезно для работы с различными типами данных в файлах.
👩💻
@javaquiz
Метод Files.probeContentType() определяет тип содержимого файла (MIME type). Это полезно для работы с различными типами данных в файлах.
👩💻
@javaquiz
👍3👎1
❓ Вопрос на собеседовании
Что такое 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 optional = Optional.empty();
// Проверка наличия значения
System.out.println(optional.orElse("Значение отсутствует")); // Значение отсутствует
// Работа с методом ifPresent
optional.ifPresent(value -> System.out.println("Значение: " + value));
}
}
👩💻
@javaquiz
Что такое 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 optional = Optional.empty();
// Проверка наличия значения
System.out.println(optional.orElse("Значение отсутствует")); // Значение отсутствует
// Работа с методом ifPresent
optional.ifPresent(value -> System.out.println("Значение: " + value));
}
}
👩💻
@javaquiz
👍4
⚙️ Stream.flatMapToInt()
Метод Stream.flatMapToInt() используется для преобразования элементов потока в другой поток примитивов int. Это удобно для обработки вложенных структур данных и работы с примитивами.
👩💻
@javaquiz
Метод Stream.flatMapToInt() используется для преобразования элементов потока в другой поток примитивов int. Это удобно для обработки вложенных структур данных и работы с примитивами.
👩💻
@javaquiz
👍3
🚫 Антипаттерн недели: Использование явных циклов для поиска
Вместо того чтобы использовать явные циклы для поиска элемента в коллекции, Java предоставляет методы для упрощения и оптимизации таких операций, особенно с использованием Stream API.
✔️ Используйте Stream API для лаконичного и производительного поиска элементов.
👩💻
@javaquiz
Вместо того чтобы использовать явные циклы для поиска элемента в коллекции, Java предоставляет методы для упрощения и оптимизации таких операций, особенно с использованием Stream API.
✔️ Используйте Stream API для лаконичного и производительного поиска элементов.
👩💻
@javaquiz
👎9
⚙️ Files.isReadable()
Метод Files.isReadable() из java.nio.file проверяет, доступен ли файл для чтения. Это полезно для предварительной проверки перед открытием файла.
👩💻
@javaquiz
Метод Files.isReadable() из java.nio.file проверяет, доступен ли файл для чтения. Это полезно для предварительной проверки перед открытием файла.
👩💻
@javaquiz
👍4
⚙️ Collectors.partitioningBy
Метод partitioningBy из класса Collectors используется для разделения элементов потока на две группы, основываясь на предикате. Он возвращает карту с двумя списками: одна группа удовлетворяет предикату, другая — нет.
👩💻
@javaquiz
Метод partitioningBy из класса Collectors используется для разделения элементов потока на две группы, основываясь на предикате. Он возвращает карту с двумя списками: одна группа удовлетворяет предикату, другая — нет.
👩💻
@javaquiz
👍5
⚙️ MethodHandle.invokeExact()
Метод MethodHandle.invokeExact() из пакета java.lang.invoke позволяет вызывать метод или конструктор через ссылку MethodHandle. Это мощный инструмент для динамического вызова методов с высокой производительностью.
👩💻
@javaquiz
Метод MethodHandle.invokeExact() из пакета java.lang.invoke позволяет вызывать метод или конструктор через ссылку MethodHandle. Это мощный инструмент для динамического вызова методов с высокой производительностью.
👩💻
@javaquiz
Пару недель назад мы обсуждали с коллегами, что digital-рынок стал похож на перегретый стартап:
новые инструменты, новые фреймворки, новые ИИ-решения — а времени разбираться во всём этом меньше, чем когда-либо.
При этом базовые задачи у всех одинаковые: держать процессы под контролем, следить за качеством, закрывать акты день в день и не терять фокус.
В итоге несколько авторов digital-каналов решили объединиться и собрать всё полезное в одну папку — «Документы для тех, кто в digital»
🔴 Там 30 файлов, которые помогают выстроить управление, аналитику и внутренние процессы:
– Система мотивации сотрудников в диджитал на 2026 год,
– 4 шаблона основых документов любого ИТ проекта,
– Топ-6 промптов для создания контента,
– Шаблоны отчётов, которые помогают удерживать клиента,
– Чек-лист по GEO оптимизации сайта и контента.
Сохранив единожды папку «Документы для тех, кто в digital», вы сможете спокойно пройтись по всем каналам и скачать множество авторских документов, которые точно пригодятся в работе.
📂 Ссылка на папку: https://t.iss.one/addlist/yXbxnD0CjS84MzBi
А чтобы добавить немного азарта — среди подписавшихся разыграют:
🥇 iPhone Air;
🥈 Яндекс Станцию Лайт 2;
🥉 HUAWEI Freebuds 5.
Как участвовать:
1. Подпишись на папку: https://t.iss.one/addlist/yXbxnD0CjS84MzBi
2. Подтверди участие в боте
🗓 Итоги — 25 октября.
новые инструменты, новые фреймворки, новые ИИ-решения — а времени разбираться во всём этом меньше, чем когда-либо.
При этом базовые задачи у всех одинаковые: держать процессы под контролем, следить за качеством, закрывать акты день в день и не терять фокус.
В итоге несколько авторов digital-каналов решили объединиться и собрать всё полезное в одну папку — «Документы для тех, кто в digital»
– Система мотивации сотрудников в диджитал на 2026 год,
– 4 шаблона основых документов любого ИТ проекта,
– Топ-6 промптов для создания контента,
– Шаблоны отчётов, которые помогают удерживать клиента,
– Чек-лист по GEO оптимизации сайта и контента.
Сохранив единожды папку «Документы для тех, кто в digital», вы сможете спокойно пройтись по всем каналам и скачать множество авторских документов, которые точно пригодятся в работе.
📂 Ссылка на папку: https://t.iss.one/addlist/yXbxnD0CjS84MzBi
А чтобы добавить немного азарта — среди подписавшихся разыграют:
🥇 iPhone Air;
🥈 Яндекс Станцию Лайт 2;
🥉 HUAWEI Freebuds 5.
Как участвовать:
1. Подпишись на папку: https://t.iss.one/addlist/yXbxnD0CjS84MzBi
2. Подтверди участие в боте
🗓 Итоги — 25 октября.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1