CompletableFuture.delayedExecutor()
позволяет выполнить задачу с отложенным запуском без блокировки основного потока. Это удобный инструмент для асинхронных операций с задержкой.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Optional.orElseThrow()
— это метод, который выбрасывает исключение, если Optional пуст. В отличие от orElse()
, он не требует значения по умолчанию, а вместо orElseGet()
не создаёт ненужные объекты.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
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
MethodHandles.lookup().findVirtual()
позволяет динамически получать и вызывать методы классов без рефлексии, обеспечивая лучшую производительность и безопасность. Это полезно для метапрограммирования и динамических вызовов.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
ООП: худшее, что случалось с программированием
Если бы строили так, как пишут код ООП. В этой статье попробуем разобраться, почему ООП — худшее, что было придумано в программировании, как оно стало таким популярным, почему опытные программисты...
try-catch
В Java блок
try-catch
предназначен для обработки исключений, но его неправильное применение может скрывать ошибки и усложнять отладку.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
VarHandle.compareAndExchange()
позволяет атомарно обновлять значения переменной, только если текущее значение соответствует ожидаемому. Это полезно для реализации lock-free структур данных и многопоточной синхронизации.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
FileDescriptor.sync()
в Java позволяет принудительно записать все несохранённые данные из буфера операционной системы на диск. Это полезно для обеспечения целостности данных в случае сбоя или отключения питания.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
ProcessBuilder.redirectOutput()
позволяет перенаправлять стандартный вывод (stdout
) запускаемого процесса в файл или в другой поток. Это полезно при работе с внешними процессами и логированием их вывода.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
==
для сравнения строкВ Java строки — это объекты, а оператор
==
сравнивает ссылки в памяти, а не их содержимое. Это может привести к неожиданным ошибкам..equals()
для корректного сравнения строк.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
JMH — это мощная библиотека для написания точных микробенчмарков в Java. Она позволяет измерять производительность кода, избегая ошибок, вызванных JIT-компиляцией и оптимизациями JVM.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
SecureRandom.getInstanceStrong()
возвращает криптографически безопасный генератор случайных чисел, основанный на алгоритмах операционной системы. Это полезно для генерации ключей, токенов и защиты данных.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Micronaut — это лёгкий фреймворк для микросервисов, который быстро стартует, потребляет мало памяти и поддерживает компиляцию в нативные образы через GraalVM.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
InetAddress.getByAddress()
позволяет создать IP-адрес вручную из массива байтов, без необходимости использования DNS-резолвера. Это полезно для работы с сетевыми протоколами и тестирования.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
MappedByteBuffer
позволяет отображать файлы в память, что ускоряет чтение и запись больших файлов, минимизируя нагрузку на оперативную память.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM