Java Learning – Telegram
Java Learning
18.3K subscribers
1.62K photos
2 videos
3 files
1K links
№ 5079899194

Обучающий канал по Java

Ссылка для друга - https://news.1rj.ru/str/+ZEYYht6-46w5MDM6

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/Java_per_month
Download Telegram
⚙️ ProcessBuilder.redirectOutput()

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 Microbenchmark Harness)

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
⚙️ SecureRandom.getInstanceStrong()

SecureRandom.getInstanceStrong() возвращает криптографически безопасный генератор случайных чисел, основанный на алгоритмах операционной системы. Это полезно для генерации ключей, токенов и защиты данных.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
⚙️ Micronaut

Micronaut — это лёгкий фреймворк для микросервисов, который быстро стартует, потребляет мало памяти и поддерживает компиляцию в нативные образы через GraalVM.

🔗 Документация

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
⚙️ InetAddress.getByAddress()

InetAddress.getByAddress() позволяет создать IP-адрес вручную из массива байтов, без необходимости использования DNS-резолвера. Это полезно для работы с сетевыми протоколами и тестирования.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
⚙️ MappedByteBuffer

MappedByteBuffer позволяет отображать файлы в память, что ускоряет чтение и запись больших файлов, минимизируя нагрузку на оперативную память.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Что будет выведено при выполнении кода?

Пояснение
⬇️
При добавлении ключа "A" со значением 3, старое значение (1) заменяется. map.get("A") возвращает 3, map.get("B") остаётся 2. Код выполняется корректно.


Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4👍2
⚙️ ByteBuffer.order()

ByteBuffer.order() позволяет управлять порядком байтов (Big-Endian или Little-Endian) при работе с бинарными данными, что полезно при взаимодействии с файлами, сетевыми протоколами и нативным кодом.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🤔4
⚙️ Thread.getAllStackTraces()

Thread.getAllStackTraces() позволяет получить стек вызовов всех активных потоков. Это полезно для отладки многопоточных программ и анализа зависших потоков.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤‍🔥5🎄2
👀 Ограничение потребления памяти с помощью -Xmx

В Java можно ограничить объём памяти, доступный JVM, чтобы избежать чрезмерного потребления ресурсов и потенциальных утечек памяти.

✔️ Использование флага -Xmx при запуске позволяет задать максимальный объём кучи (heap size) для Java-программы.

✔️ Также можно установить лимит программно с помощью Runtime.getRuntime().maxMemory().

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍13❤‍🔥4😁1🎄1
👀 Мониторинг использования памяти с MemoryMXBean

В Java можно отслеживать текущее потребление памяти JVM с помощью MemoryMXBean. Это полезно для диагностики утечек памяти и анализа работы сборщика мусора.

✔️ Использование ManagementFactory.getMemoryMXBean() позволяет получить информацию о потреблении памяти в реальном времени.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤‍🔥4🎄3
⚙️ Thread.sleep(Duration)

Thread.sleep(Duration) (Java 9+) позволяет приостанавливать выполнение потока на заданное время с использованием Duration, что делает код более читаемым и удобным.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10😢1
⚙️ Integer.numberOfTrailingZeros()

Integer.numberOfTrailingZeros() вычисляет количество нулевых битов в конце двоичного представления числа. Это полезно для битовых операций и оптимизации алгоритмов.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
⚙️ Cleaner.register()

Cleaner.register() позволяет выполнять код очистки перед удалением объекта сборщиком мусора. Это полезно для освобождения нативных ресурсов без явного вызова close().

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
⚙️ LockSupport.parkNanos()

LockSupport.parkNanos() позволяет приостанавливать поток на заданное количество наносекунд, обеспечивая более точный контроль пауз по сравнению с Thread.sleep().

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
⚙️ Arrays.mismatch()

Arrays.mismatch() сравнивает два массива и возвращает индекс первого несовпадающего элемента. Это полезно для эффективного поиска различий между данными.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
⚙️ Long.divideUnsigned()

Long.divideUnsigned() позволяет выполнять деление беззнаковых (unsigned) целых чисел, избегая проблем с интерпретацией отрицательных значений в long.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5