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
== для сравнения строкВ Java строки — это объекты, а оператор
== сравнивает ссылки в памяти, а не их содержимое. Это может привести к неожиданным ошибкам..equals() для корректного сравнения строк.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6😢2
JMH — это мощная библиотека для написания точных микробенчмарков в Java. Она позволяет измерять производительность кода, избегая ошибок, вызванных JIT-компиляцией и оптимизациями JVM.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤🔥2🔥1
Пояснение
Метод append(" World") добавляет строку в конец, а insert(5, ",") вставляет запятую после "Hello". Итоговая строка: "Hello, World". Код выполняется корректно.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
👍6