Пояснение
Optional.ofNullable(null) создаёт пустой Optional. Метод orElse("Default Value") возвращает "Default Value", так как внутри Optional нет значения. Код выполняется без ошибок.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤🔥1
👍6
Charset.forName() позволяет получить кодировку по её названию и использовать её для преобразования строк. Это полезно при работе с различными кодировками, например, UTF-8, ISO-8859-1 и Windows-1251.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
ScopedValue.where() позволяет безопасно передавать контекстные данные внутри потока, избегая утечек памяти и сложностей ThreadLocal. Данные доступны только внутри заданного блока кода.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
TerminalBuilder.build() из библиотеки JLine позволяет создавать интерактивные терминалы с поддержкой ANSI-цветов, автодополнения и управления вводом. Это полезно для создания CLI-приложений с удобным интерфейсом.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
try-with-resources при работе с ресурсамиВ Java важно гарантированно закрывать ресурсы (файлы, потоки, соединения). Если этого не делать, возможны утечки памяти и зависание приложения.
try-with-resources, чтобы автоматически закрывать ресурсы.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15
AnsiConsole.out.println() из библиотеки Jansi позволяет выводить цветной текст в консоль, упрощая создание стилизованных CLI-приложений с поддержкой ANSI-escape последовательностей.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
@SuperBuilder из библиотеки Lombok упрощает создание объектов с помощью паттерна "Builder" и поддерживает наследование, избавляя от лишнего кода при создании сложных иерархий классов.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19
String.stripIndent() удаляет общие начальные пробелы во всех строках многострочного текста, делая его более читаемым и удобным для форматирования. Это полезно при работе с блоками текста в коде.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥1
CompletableFuture.delayedExecutor() позволяет выполнить задачу с отложенным запуском без блокировки основного потока. Это удобный инструмент для асинхронных операций с задержкой.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
CompletableFuture.delayedExecutor() позволяет выполнить задачу с отложенным запуском без блокировки основного потока. Это удобный инструмент для асинхронных операций с задержкой.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Optional.orElseThrow() — это метод, который выбрасывает исключение, если Optional пуст. В отличие от orElse(), он не требует значения по умолчанию, а вместо orElseGet() не создаёт ненужные объекты.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Пояснение
TreeSet хранит элементы в отсортированном порядке. Добавленные числа автоматически сортируются, поэтому выводится [1, 2, 3, 5]. Код выполняется без ошибок.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
👍7
MemorySegment.allocateNative() из Java Foreign Function & Memory API (FFM API, начиная с Java 19) позволяет безопасно управлять нативной памятью без Unsafe. Это полезно для высокопроизводительных приложений, работающих с C-библиотеками.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤🔥1
MethodHandles.lookup().findVirtual() позволяет динамически получать и вызывать методы классов без рефлексии, обеспечивая лучшую производительность и безопасность. Это полезно для метапрограммирования и динамических вызовов.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
ООП: худшее, что случалось с программированием
Если бы строили так, как пишут код ООП. В этой статье попробуем разобраться, почему ООП — худшее, что было придумано в программировании, как оно стало таким популярным, почему опытные программисты...
👍6🤔1
try-catchВ Java блок
try-catch предназначен для обработки исключений, но его неправильное применение может скрывать ошибки и усложнять отладку.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
VarHandle.compareAndExchange() позволяет атомарно обновлять значения переменной, только если текущее значение соответствует ожидаемому. Это полезно для реализации lock-free структур данных и многопоточной синхронизации.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
FileDenoscriptor.sync() в Java позволяет принудительно записать все несохранённые данные из буфера операционной системы на диск. Это полезно для обеспечения целостности данных в случае сбоя или отключения питания.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2
ProcessBuilder.redirectOutput() позволяет перенаправлять стандартный вывод (stdout) запускаемого процесса в файл или в другой поток. Это полезно при работе с внешними процессами и логированием их вывода.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4