Перейти к основному содержимому

· 3 мин. чтения

1. Обзор

В этом уроке мы собираемся показать различные методы загрузки больших файлов с помощью RestTemplate .

2. Шаблон отдыха

RestTemplate — это блокирующий и синхронный HTTP-клиент, представленный в Spring 3. Согласно документации Spring , в будущем он будет объявлен устаревшим, поскольку они представили WebClient в качестве реактивного неблокирующего HTTP-клиента в версии 5.

3. Подводные камни

· 12 мин. чтения

1. Обзор

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

В этом руководстве мы узнаем о WebRTC , проекте с открытым исходным кодом, который позволяет браузерам и мобильным приложениям напрямую взаимодействовать друг с другом в режиме реального времени. Затем мы увидим его в действии, написав простое приложение, которое создает одноранговое соединение для обмена данными между двумя HTML-клиентами.

Мы будем использовать HTML, JavaScript и библиотеку WebSocket вместе со встроенной поддержкой WebRTC в веб-браузерах для создания клиента. И мы будем создавать сервер сигнализации с Spring Boot, используя WebSocket в качестве протокола связи. Наконец, мы увидим, как добавить видео- и аудиопотоки к этому соединению.

2. Основы и концепции WebRTC

· 3 мин. чтения

1. Обзор

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

Как правило, приложения совместно используют асимметричные ключи в формате сертификатов X.509 . Поэтому перед подтверждением связи SSL клиенты должны импортировать такие сертификаты в свои файлы хранилища доверенных сертификатов.

В этой статье мы обсудим несколько инструментов, которые можно использовать для импорта сертификатов в формате .cer в хранилище доверенных сертификатов клиента.

2. Команда keytool

· 4 мин. чтения

1. Обзор

В Java создание копии списка иногда может привести к исключению IndexOutOfBoundsException: «Источник не соответствует назначению». В этом кратком руководстве мы рассмотрим, почему мы получаем эту ошибку при использовании метода Collections.copy и как ее можно решить. Мы также рассмотрим альтернативы Collections.copy для создания копии списка.

2. Воспроизведение проблемы

Начнем с метода создания копии списка с помощью метода Collections.copy :

static List<Integer> copyList(List<Integer> source) {
List<Integer> destination = new ArrayList<>(source.size());
Collections.copy(destination, source);
return destination;
}

· 11 мин. чтения

1. Обзор

В этой статье мы рассмотрим вводные части компонента Selector Java NIO .

Селектор предоставляет механизм для мониторинга одного или нескольких каналов NIO и распознавания, когда один или несколько становятся доступными для передачи данных.

Таким образом, один поток может использоваться для управления несколькими каналами и, следовательно, несколькими сетевыми подключениями.

2. Зачем использовать селектор?

· 3 мин. чтения

1. Весна и Ява

>> Поддержка инкубатора для HTTP/3 в Netty [ netty.io ]

Поприветствуйте HTTP/3 и QUIC — первый инкубатор, поддерживающий QUIC в Netty на основе реализации quiche от Cloudflare!

>> К OpenJDK 17 [ cl4es.github.io ]

Более быстрый запуск и статические образы : использование JVM в качестве основы для Project Leyden!

>> Представляем Hibernate Reactive [ in.relation.to ]

· 3 мин. чтения

1. Весна и Ява

>> Внутренние компоненты HotSpot [ alidg.me]

То, что вы видите, не то, что вы получаете : введение в то, как встроенные функции компилятора работают на HotSpot JVM!

>> Меньшие, более быстрые образы контейнеров с jlink и AppCDS [ morling. разработчик ]

Совместное использование данных класса приложений или AppCDS в сочетании с jlink : более быстрый запуск с помощью AppCDS в пользовательских образах среды выполнения!

>> Анонс gRPC Kotlin 1.0 для Android и облачных сервисов [ Developers.googleblog.com ]

· 2 мин. чтения

1. Весна и Ява

>> Претензии Loom складываются? Часть 1: Миллионы потоков? [ webtide.com ]

Членство в тренажерном зале и миллионы виртуальных потоков ткацких станков — оценка влияния GC и глубоких стеков на виртуальные потоки!

>> Увеличиваются ли претензии Looms? Часть 2: Пулы потоков? [ webtide.com ]

Дешевые потоки вызывают дорогие вещи: должны ли мы по-прежнему использовать пулы потоков для лучшего управления ресурсами?

>> Что нового в MicroProfile 4.0 [ infoq.com ]

· 2 мин. чтения

1. Обзор

Безопасность является фундаментальной частью любого Java-приложения. Кроме того, мы можем найти множество фреймворков безопасности, которые могут решать проблемы безопасности. Кроме того, мы используем несколько терминов, обычно используемых в этих фреймворках, таких как субъект, принципал и пользователь.

В этом руководстве мы собираемся объяснить эти основные концепции фреймворков безопасности . Также мы покажем их взаимосвязь и различия.

2. Тема

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

· 3 мин. чтения

1. Обзор

Библиотека загрузки файлов Apache Commons помогает нам загружать большие файлы по протоколу HTTP, используя тип содержимого multipart/form-data .

В этом кратком руководстве мы рассмотрим, как интегрировать его с Spring.

2. Зависимости Maven

Чтобы использовать библиотеку, нам понадобится артефакт commons-fileupload :