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
⚙️ 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
Что будет выведено при выполнении кода?

Пояснение
⬇️
Метод remove(1) удаляет элемент с индексом 1, то есть "B". Оставшиеся элементы "A" и "C" сдвигаются влево. Итоговый список: [A, C]. Код выполняется без ошибок.


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

ProcessHandle.parent() позволяет получить родительский процесс текущего процесса. Это полезно для мониторинга запущенных процессов и управления зависимыми процессами.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
🚫 Антипаттерн недели: Неиспользование break в switch-case

В Java оператор switch-case не прерывается автоматически, и если не добавить break, выполнение продолжится к следующему case, что может привести к неожиданному поведению.

✔️ Добавляйте break для предотвращения "проваливания" в следующий case.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
⚙️ VarHandle.compareAndSet

VarHandle.compareAndSet() позволяет безопасно изменять значения переменной в многопоточной среде, проверяя текущее значение перед обновлением. Это полезно для lock-free алгоритмов.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
⚙️ ClassLoader.getDefinedPackages()

ClassLoader.getDefinedPackages() (Java 9+) позволяет получить список всех пакетов, загруженных текущим загрузчиком классов. Это полезно для анализа модулей, изоляции зависимостей и динамической загрузки.

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