Locale.getDefault() позволяет получить текущую локаль системы, что полезно для работы с форматированием дат, чисел и текста.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Thread.getState() позволяет получить текущее состояние потока. Это полезно при отладке многопоточных программ, чтобы отслеживать, выполняется ли поток, заблокирован или завершён.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥1
ProcessHandle.isAlive() позволяет проверить, запущен ли процесс в данный момент. Это полезно при мониторинге фоновых процессов и управлении системными ресурсами.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Пояснение
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