⚙️ 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
👍6
⚙️ Collectors.partitioningBy
Метод partitioningBy из класса Collectors используется для разделения элементов потока на две группы, основываясь на предикате. Он возвращает карту с двумя списками: одна группа удовлетворяет предикату, другая — нет.
👩💻
@javaquiz
Метод partitioningBy из класса Collectors используется для разделения элементов потока на две группы, основываясь на предикате. Он возвращает карту с двумя списками: одна группа удовлетворяет предикату, другая — нет.
👩💻
@javaquiz
👍7
⚙️ MethodHandle.invokeExact()
Метод MethodHandle.invokeExact() из пакета java.lang.invoke позволяет вызывать метод или конструктор через ссылку MethodHandle. Это мощный инструмент для динамического вызова методов с высокой производительностью.
👩💻
@javaquiz
Метод MethodHandle.invokeExact() из пакета java.lang.invoke позволяет вызывать метод или конструктор через ссылку MethodHandle. Это мощный инструмент для динамического вызова методов с высокой производительностью.
👩💻
@javaquiz
👍1
⚙️ Stream.generate()
Метод Stream.generate() используется для создания бесконечного потока элементов, генерируемых функцией. Это полезно для создания потоков случайных данных, шаблонов или повторяющихся значений.
👩💻
@javaquiz
Метод Stream.generate() используется для создания бесконечного потока элементов, генерируемых функцией. Это полезно для создания потоков случайных данных, шаблонов или повторяющихся значений.
👩💻
@javaquiz
🔥2👍1
⚙️ MethodHandles.privateLookupIn
Метод MethodHandles.privateLookupIn позволяет получить доступ к приватным методам, полям и конструкторам класса через MethodHandle. Это мощный и редкий инструмент для работы с закрытыми членами классов.
👩💻
@javaquiz
Метод MethodHandles.privateLookupIn позволяет получить доступ к приватным методам, полям и конструкторам класса через MethodHandle. Это мощный и редкий инструмент для работы с закрытыми членами классов.
👩💻
@javaquiz
👍2
Как я пишу open source игру на Java
Смотреть статью ()
👩💻
@javaquiz
https://habr.com/ru/companies/korus_consulting/articles/874134/
Смотреть статью ()
👩💻
@javaquiz
https://habr.com/ru/companies/korus_consulting/articles/874134/
Хабр
Как я пишу open source игру на Java
Автор текста: Александр Нилов Архитектор информационных систем департамента «Логистика» КОРУС Консалтинг Всем привет! Меня зовут Александр Нилов, я архитектор департамента «Логистика» КОРУС...
🚫 Антипаттерн недели: Использование String вместо StringBuilder при конкатенации в цикле
В Java строки (String) неизменяемы. При каждой конкатенации через + создаётся новый объект, что приводит к избыточным затратам памяти и снижает производительность, особенно в циклах.
✔️ Используйте StringBuilder, который изменяем и работает быстрее при частых операциях с текстом.
👩💻
@javaquiz
В Java строки (String) неизменяемы. При каждой конкатенации через + создаётся новый объект, что приводит к избыточным затратам памяти и снижает производительность, особенно в циклах.
✔️ Используйте StringBuilder, который изменяем и работает быстрее при частых операциях с текстом.
👩💻
@javaquiz
👍7👎1
⚙️ Files.mismatch()
Метод Files.mismatch(), добавленный в Java 12, позволяет сравнить два файла и найти позицию первого несовпадающего байта. Если файлы идентичны, метод возвращает -1. Это полезно для проверки целостности данных или сравнения файлов.
👩💻
@javaquiz
Метод Files.mismatch(), добавленный в Java 12, позволяет сравнить два файла и найти позицию первого несовпадающего байта. Если файлы идентичны, метод возвращает -1. Это полезно для проверки целостности данных или сравнения файлов.
👩💻
@javaquiz
👍2🔥1
⚙️ LockSupport.park()
Метод LockSupport.park() позволяет приостановить выполнение потока без использования synchronized или wait(). Это полезно для низкоуровневой синхронизации потоков.
👩💻
@javaquiz
Метод LockSupport.park() позволяет приостановить выполнение потока без использования synchronized или wait(). Это полезно для низкоуровневой синхронизации потоков.
👩💻
@javaquiz
👍2
👩💻 Java в Kubernetes за 40 минут: как задеплоить приложение в Minikube
Приглашаем на открытый урок.
🗓 27 октября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java Developer. Advanced».
Minikube — личный Kubernetes для тестов. Научитесь деплоить Java-приложения — база для DevOps, CI/CD и продакшна.
Что будет на вебинаре:
✔️ Подготовка Java-приложения к деплою (JAR → Docker image).
✔️Установка Minikube и настройка локального кластера.
✔️Написание манифестов: Deployment, Service, ConfigMap.
✔️Запуск приложения и проверка работоспособности.
В результате вебинара вы:
✔️ Сможете самостоятельно задеплоить Java-приложение в Minikube, написать манифесты и лучше понять, как работает Kubernetes «под капотом».
Кому будет интересно:
Java-разработчикам, начинающим осваивать Kubernetes и DevOps-подходы, а также инженерам, выстраивающим локальные CI/CD практики.
🔗 Ссылка на регистрацию: https://clck.ru/3PqCpN
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Приглашаем на открытый урок.
🗓 27 октября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java Developer. Advanced».
Minikube — личный Kubernetes для тестов. Научитесь деплоить Java-приложения — база для DevOps, CI/CD и продакшна.
Что будет на вебинаре:
✔️ Подготовка Java-приложения к деплою (JAR → Docker image).
✔️Установка Minikube и настройка локального кластера.
✔️Написание манифестов: Deployment, Service, ConfigMap.
✔️Запуск приложения и проверка работоспособности.
В результате вебинара вы:
✔️ Сможете самостоятельно задеплоить Java-приложение в Minikube, написать манифесты и лучше понять, как работает Kubernetes «под капотом».
Кому будет интересно:
Java-разработчикам, начинающим осваивать Kubernetes и DevOps-подходы, а также инженерам, выстраивающим локальные CI/CD практики.
🔗 Ссылка на регистрацию: https://clck.ru/3PqCpN
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
⚙️ MethodHandles.arrayElementVarHandle()
Метод MethodHandles.arrayElementVarHandle() создаёт VarHandle для работы с элементами массива, позволяя выполнять атомарные операции без блокировки.
👩💻
@javaquiz
Метод MethodHandles.arrayElementVarHandle() создаёт VarHandle для работы с элементами массива, позволяя выполнять атомарные операции без блокировки.
👩💻
@javaquiz
⚙️ StackWalker.walk()
Метод StackWalker.walk() позволяет динамически получать информацию о текущем стеке вызовов, фильтровать его и анализировать. Это полезно для логирования, отладки и мониторинга исполнения кода.
👩💻
@javaquiz
Метод StackWalker.walk() позволяет динамически получать информацию о текущем стеке вызовов, фильтровать его и анализировать. Это полезно для логирования, отладки и мониторинга исполнения кода.
👩💻
@javaquiz
⚙️ java.util.Timer()
Метод java.util.Timer() позволяет создавать таймеры, которые выполняют определенные задачи через заданные интервалы времени. Это полезно для планирования и отложенного выполнения задач без блокировки основного потока.
👩💻
@javaquiz
Метод java.util.Timer() позволяет создавать таймеры, которые выполняют определенные задачи через заданные интервалы времени. Это полезно для планирования и отложенного выполнения задач без блокировки основного потока.
👩💻
@javaquiz