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).
#для_продвинутых
ManagementFactory — это класс-фабрика, предназначенный для получения управляемых beans для платформы Java. Он состоит из статических методов, каждый из которых возвращает один или несколько platform MXBeans, представляющих собой интерфейс управления компонентом виртуальной машины Java (JVM).
#для_продвинутых
👍15
MessageDigest
#для_продвинутых
MessageDigest — это класс в Java, который представляет собой криптографическую хеш-функцию. Он используется для вычисления дайджеста сообщения из двоичных данных. Дайджест сообщения — это фиксированная по длине строка, которая представляет собой «отпечаток» данных. Он может использоваться для проверки целостности данных, а также для аутентификации.#для_продвинутых
👍12
CopyOnWriteArrayList
CopyOnWriteArrayList — это реализация интерфейса List, оптимизированная для работы в многопоточном окружении.
Основное отличие этой коллекции в том, что все модифицирующие операции (добавление, удаление элементов) не изменяют существующий массив, а создают его копию.
Это позволяет избежать необходимости синхронизации для потокобезопасного чтения.
CopyOnWriteArrayList — это реализация интерфейса List, оптимизированная для работы в многопоточном окружении.
Основное отличие этой коллекции в том, что все модифицирующие операции (добавление, удаление элементов) не изменяют существующий массив, а создают его копию.
Это позволяет избежать необходимости синхронизации для потокобезопасного чтения.
CopyOnWriteArrayList полезен в ситуациях, когда чтение данных происходит гораздо чаще, чем изменение. Например, при реализации общего кэша в многопоточном приложении.👍18🤔2
AlgorithmParameters
Класс
#для_продвинутых
Класс
AlgorithmParameters используется для представления криптографических параметров в виде непрозрачного объекта. Он позволяет управлять параметрами для конкретного алгоритма.#для_продвинутых
👍11
KeyFactory
Функциональные возможности:
— Преобразование ключей из спецификаций ключей (например, ASN.1 DER) и обратно.
— Генерация ключей на основе алгоритма и параметров.
— Поддержка различных алгоритмов ключей, таких как RSA, DSA, Elliptic Curve Cryptography (ECC).
#для_продвинутых
KeyFactory — это класс, который используется для преобразования ключей (непрозрачных криптографических ключей типа Key) в спецификации ключей (прозрачные представления базового материала ключа) и наоборот.Функциональные возможности:
— Преобразование ключей из спецификаций ключей (например, ASN.1 DER) и обратно.
— Генерация ключей на основе алгоритма и параметров.
— Поддержка различных алгоритмов ключей, таких как RSA, DSA, Elliptic Curve Cryptography (ECC).
#для_продвинутых
👍10
ZipInputStream
#для_продвинутых
ZipInputStream — это класс в Java, который используется для чтения файлов ZIP. Он представляет собой фильтр входного потока, который декомпрессирует данные ZIP по мере их чтения.#для_продвинутых
👍13
GZIPInputStream
#для_продвинутых
GZIPInputStream — это класс в Java, который используется для декомпрессии данных, сжатых с помощью алгоритма gzip. Gzip – это популярный формат сжатия, который используется для уменьшения размера файлов без значительной потери данных.#для_продвинутых
👍10
Какое из следующих утверждений о потоках неверно?
1. Если метод
2. Порядок, в котором запускались потоки, может не совпадать с порядком их фактического выполнения.
3. Если метод
4. Если метод
Правильный ответ: 3. Если метод
Вызов метода
1. Если метод
start() вызывается дважды для одного и того же объекта Thread, во время выполнения генерируется исключение.2. Порядок, в котором запускались потоки, может не совпадать с порядком их фактического выполнения.
3. Если метод
run() вызывается напрямую для объекта Thread, во время выполнения генерируется исключение.4. Если метод
sleep() вызывается для потока, во время выполнения синхронизированного кода, блокировка не снимается.Правильный ответ: 3. Если метод
run() вызывается напрямую для объекта Thread, во время выполнения исключение не генерируется. Однако, код, написанный в методе run() будет выполняться текущим, а не новым потоком. Таким образом, правильный способ запустить поток – это вызов метода start(), который приводит к выполнению метода run() новым потоком.Вызов метода
start() дважды для одного и того же объекта Thread приведёт к генерированию исключения IllegalThreadStateException во время выполнения, следовательно, утверждение 1 верно. Утверждение 2 верно, так как порядок, в котором выполняются потоки, определяется Планировщиком потоков, независимо от того, какой поток запущен первым. Утверждение 4 верно, так как поток не освободит блокировки, которые он держит, когда он переходит в состояние Ожидания.👍13❤1
IntBuffer
#для_начинающих
IntBuffer — это класс, который представляет собой буфер для хранения целых чисел (int). Он используется для эффективного хранения и обработки больших массивов целых чисел.#для_начинающих
👍11
CharBuffer
#для_начинающих
CharBuffer в Java представляет собой класс, который используется для хранения и манипулирования последовательностями символов. Он является частью пакета java.nio и реализует интерфейс CharSequence.#для_начинающих
👍10
Какое утверждение относительно преобразования примитивных типов верно?
Anonymous Quiz
61%
тип byte можно привести к типу int без потери данных
9%
тип boolean можно привести к типу byte
17%
расширение является небезопасным преобразованием
14%
тип byte можно привести к типу char без потери данных
👍9❤1
Semaphore
Semaphore — это класс, который позволяет ограничивать количество потоков, одновременно работающих с каким-либо ресурсом.
Поток должен получить разрешение, чтобы войти в критическую секцию.
Если разрешений нет, поток ставится в очередь до освобождения.
Метод
Semaphore — это класс, который позволяет ограничивать количество потоков, одновременно работающих с каким-либо ресурсом.
Поток должен получить разрешение, чтобы войти в критическую секцию.
Semaphore управляет набором разрешений (permits), а конструктор принимает количество разрешений.Если разрешений нет, поток ставится в очередь до освобождения.
Метод
acquire() получает разрешение, release() — освобождает.👍16
LambdaMetafactory
LambdaMetafactory — это класс в Java, который используется для создания объектов функциональных интерфейсов.
Как работает LambdaMetafactory:
1.
2. Обработчик метода — это реализация функционального интерфейса, которая использует
3. Если в лямбда-выражении есть захваченные переменные, то
4. В Oracle JRE 8
#для_продвинутых
LambdaMetafactory — это класс в Java, который используется для создания объектов функциональных интерфейсов.
Как работает LambdaMetafactory:
1.
LambdaMetafactory используется для создания CallSite, который представляет собой фабричный метод, возвращающий обработчик целевого метода.2. Обработчик метода — это реализация функционального интерфейса, которая использует
invokeExact для вызова целевого метода.3. Если в лямбда-выражении есть захваченные переменные, то
invokeExact принимает эти переменные как фактические параметры.4. В Oracle JRE 8
metafactory динамически генерирует Java-класс, используя ObjectWeb Asm, который и создает класс-реализацию функционального интерфейса.#для_продвинутых
👍8
SocketHandler
#для_продвинутых
SocketHandler — это класс в Java, который используется для отправки сообщений журнала на сервер журнала. Он наследуется от класса Handler и реализует интерфейс StreamHandler.#для_продвинутых
👍8