Java Learning
18.7K subscribers
1.62K photos
1 video
3 files
998 links
№ 5079899194

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

Ссылка для друга - https://t.iss.one/+ZEYYht6-46w5MDM6

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

Реклама на бирже - https://telega.in/c/Java_per_month
Download Telegram
JarFile

JarFile — это класс в Java, который используется для чтения содержимого JAR-файла. JAR-файл (Java ARchive) — это формат архива, который используется для объединения нескольких файлов Java (.class), а также других ресурсов, таких как изображения, звуки и текстовые файлы, в один файл.

Создание объекта JarFile
Для создания объекта JarFile необходимо использовать его конструктор, который принимает путь к JAR-файлу в качестве параметра.

#для_продвинутых
11👍5
ZipFile

ZipFile — это класс, который используется для чтения содержимого ZIP-архивов. Он позволяет вам перебирать записи в архиве, получать информацию о них и извлекать их содержимое.

#для_начинающих
👍23😢2
SoftReference

SoftReference (мягкая ссылка) — это класс, который представляет собой ссылку на объект, который может быть удален сборщиком мусора (GC) в любой момент, если память нужна для других объектов.

Принцип работы:
— Создание: SoftReference создается с помощью конструктора, который принимает ссылку на объект.
— Доступ к объекту: Для доступа к объекту, на который ссылается SoftReference, используется метод get().
— Очистка: GC может очистить SoftReference в любой момент, если память нужна для других объектов.

Когда использовать SoftReference:
— Кэширование: SoftReference можно использовать для реализации кэшей, где важно сохранить объекты в памяти, если это возможно, но не обязательно.
— Сохранение метаданных: SoftReference можно использовать для хранения метаданных об объектах, которые не являются критичными для работы приложения.

#для_продвинутых
👍153🔥1
WeakReference

WeakReference — это класс, представляющий собой «слабую ссылку» на объект. Слабая ссылка не препятствует сборщику мусора (GC) в удалении объекта, на который она ссылается.

Когда использовать WeakReference:

— При кэшировании: Слабые ссылки можно использовать для реализации кэша, где объекты кеша удаляются из памяти, когда они больше не используются, но не сразу.
— При отслеживании объектов: Слабые ссылки можно использовать для отслеживания объектов, не препятствуя их удалению GC.
— При реализации «умных указателей»: Слабые ссылки можно использовать для реализации «умных указателей», которые автоматически освобождают ресурсы, когда они больше не нужны.

#для_продвинутых
👍11
DatagramPacket

DatagramPacket — это класс в Java, который представляет собой пакет датаграмм. Датаграммы используются для реализации бессоединительной службы доставки пакетов. Это означает, что каждый пакет отправляется независимо от других пакетов, и нет гарантии, что они будут доставлены в том же порядке, в котором были отправлены.

#для_продвинутых
👍9
InvocationHandler

InvocationHandler — это интерфейс, реализуемый обработчиком вызовов для экземпляра прокси. Каждый экземпляр прокси имеет связанный с ним обработчик вызовов. Когда метод вызывается на экземпляре прокси, вызов метода кодируется и отправляется в метод invoke его обработчика вызовов.

#для_продвинутых
👍8
Интерфейс Delayed

Интерфейс Delayed используется для объектов, у которых есть время истечения задержки.
Он позволяет организовать очередь объектов с учетом их задержки.

Основные методы:
getDelay(TimeUnit unit) — возвращает оставшееся время задержки в указанных единицах измерения.
compareTo(Delayed o) — сравнивает текущий объект с переданным по оставшемуся времени задержки.

Этот интерфейс реализуется классами, которые должны храниться в очереди с задержкой, например в DelayQueue.
👍91
Метод isDaemon()

Метод isDaemon() используется для определения, является ли поток демоном или нет.

Демон (daemon) — это поток, который работает в фоновом режиме и не препятствует завершению программы. Основная программа может завершиться, даже если демон все еще выполняется.
👍16
DatagramPacket

DatagramPacket — это класс в Java, который представляет собой пакет датаграмм. Датаграммы используются для реализации бессоединительной службы доставки пакетов. Это означает, что каждый пакет отправляется независимо от других пакетов, и нет гарантии, что они будут доставлены в том же порядке, в котором были отправлены.

#для_продвинутых
👍9
InvocationTargetException

InvocationTargetException – это проверяемое исключение, которое возникает при вызове метода или конструктора через рефлексию, если этот метод или конструктор бросает свое собственное исключение.

#для_продвинутых
👍9🔥1
ResultSet

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

#для_начинающих
👍16
InvocationTargetException

InvocationTargetException – это проверяемое исключение, которое возникает при вызове метода или конструктора через рефлексию, если этот метод или конструктор бросает свое собственное исключение.

#для_продвинутых
👍13🔥1
MethodHandle

MethodHandle — это типизированная, напрямую исполняемая ссылка на метод, конструктор, поле или подобную низкоуровневую операцию с необязательными преобразованиями аргументов или возвращаемых значений.

#для_продвинутых
👍13
ManagementFactory

ManagementFactory — это класс-фабрика, предназначенный для получения управляемых beans для платформы Java. Он состоит из статических методов, каждый из которых возвращает один или несколько platform MXBeans, представляющих собой интерфейс управления компонентом виртуальной машины Java (JVM).

#для_продвинутых
👍15
MessageDigest

MessageDigest — это класс в Java, который представляет собой криптографическую хеш-функцию. Он используется для вычисления дайджеста сообщения из двоичных данных. Дайджест сообщения — это фиксированная по длине строка, которая представляет собой «отпечаток» данных. Он может использоваться для проверки целостности данных, а также для аутентификации.

#для_продвинутых
👍12
CopyOnWriteArrayList

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

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

CopyOnWriteArrayList полезен в ситуациях, когда чтение данных происходит гораздо чаще, чем изменение. Например, при реализации общего кэша в многопоточном приложении.
👍18🤔2
AlgorithmParameters

Класс AlgorithmParameters используется для представления криптографических параметров в виде непрозрачного объекта. Он позволяет управлять параметрами для конкретного алгоритма.

#для_продвинутых
👍11
KeyFactory

KeyFactory — это класс, который используется для преобразования ключей (непрозрачных криптографических ключей типа Key) в спецификации ключей (прозрачные представления базового материала ключа) и наоборот.

Функциональные возможности:
— Преобразование ключей из спецификаций ключей (например, ASN.1 DER) и обратно.
— Генерация ключей на основе алгоритма и параметров.
— Поддержка различных алгоритмов ключей, таких как RSA, DSA, Elliptic Curve Cryptography (ECC).

#для_продвинутых
👍10
ZipInputStream

ZipInputStream — это класс в Java, который используется для чтения файлов ZIP. Он представляет собой фильтр входного потока, который декомпрессирует данные ZIP по мере их чтения.

#для_продвинутых
👍13
GZIPInputStream

GZIPInputStream — это класс в Java, который используется для декомпрессии данных, сжатых с помощью алгоритма gzip. Gzip – это популярный формат сжатия, который используется для уменьшения размера файлов без значительной потери данных.

#для_продвинутых
👍10