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

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

1. Обзор

В этой статье мы собираемся изучить основы одного из ключевых дополнительных API нового ввода-вывода (NIO2) в Java 7 — API асинхронного канала .

Это первая статья в серии статей, посвященных этой конкретной теме.

API-интерфейсы асинхронного канала являются усовершенствованием более ранних API-интерфейсов ввода-вывода (NIO), которые поставлялись с Java 1.4. Чтобы прочитать о NIO Selectors, перейдите по этой ссылке .

Еще одним усовершенствованием API-интерфейсов NIO является новый API-интерфейс файловой системы. Вы также можете узнать больше о его файловых операциях и операциях с путями на этом сайте.

Чтобы использовать асинхронные каналы NIO2 в наших проектах, нам нужно импортировать пакет java.nio.channels , так как в нем собраны необходимые классы:

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

1. Обзор

В этой статье мы сосредоточимся на новых API-интерфейсах ввода-вывода на платформе Java — NIO2 — для выполнения основных операций с файлами .

API-интерфейсы файлов в NIO2 представляют собой одну из основных новых функциональных областей платформы Java, поставляемую с Java 7, в частности, подмножество API новой файловой системы наряду с API-интерфейсами путей.

2. Настройка

Настройка вашего проекта для использования файловых API — это просто вопрос импорта:

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

1. Обзор

В этой статье мы узнаем, как использовать новый API пути ввода-вывода (NIO2) в Java.

API -интерфейсы Path в NIO2 представляют собой одну из основных новых функциональных областей, поставляемых с Java 7, и, в частности, подмножество API-интерфейсов новой файловой системы наряду с API-интерфейсами файлов.

2. Настройка

Поддержка NIO2 включена в пакет java.nio.file . Таким образом, настройка вашего проекта для использования Path API — это просто вопрос импорта всего в этом пакете:

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

1. Обзор

В этой статье мы собираемся изучить один из ключевых дополнительных API нового ввода-вывода (NIO2) в Java 7 — API асинхронного файлового канала.

Если вы не знакомы с API асинхронных каналов в целом, у нас есть вводная статья на этом сайте, которую вы можете прочитать, перейдя по этой ссылке , прежде чем продолжить.

Вы также можете узнать больше об операциях с файлами NIO.2 и операциях с путями — их понимание значительно облегчит понимание этой статьи.

Чтобы использовать асинхронные файловые каналы NIO2 в наших проектах, мы должны импортировать пакет java.nio.channels , так как он объединяет все необходимые классы:

import java.nio.channels.*;

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

1. Обзор

В этой статье мы собираемся изучить одну из расширенных функций API-интерфейсов файловой системы Java 7 NIO.2, а именно API-интерфейсы файловых атрибутов.

Ранее мы рассмотрели API -интерфейсы File и Path , если вы хотите сначала углубиться в эти основополагающие элементы.

Все файлы, необходимые для обработки операций с файловой системой, объединены в пакет java.nio.file :

import java.nio.file.*;

2. Основные атрибуты файла

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

1. Введение

RxJava — это реализация Java Reactive Extensions, которая позволяет нам писать управляемые событиями и асинхронные приложения. Дополнительную информацию о том, как использовать RxJava, можно найти в нашей вводной статье здесь .

RxJava 2 был переписан с нуля, что принесло множество новых функций; некоторые из них были созданы в ответ на проблемы, существовавшие в предыдущей версии фреймворка.

Одной из таких функций является io.reactivex.Flowable .

2. Наблюдаемый vs. _ Текучий

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

1. Обзор

В этом руководстве мы узнаем , как преобразовать традиционные синхронные и асинхронные API в Observables с помощью операторов RxJava2 .

Мы создадим несколько простых функций, которые помогут нам подробно обсудить эти операторы.

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

Во- первых, мы должны добавить RxJava2 и RxJava2Extensions в качестве зависимостей Maven:

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

1. Обзор

В этом руководстве мы поиграем с Completable типом RxJava , который представляет результат вычисления без фактического значения. ``

2. Зависимость RxJava

Давайте включим зависимость RxJava 2 в наш проект Maven:

<dependency>
<groupId>io.reactivex.rxjava2</groupId>
<artifactId>rxjava</artifactId>
<version>2.2.2</version>
</dependency>

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

1. Обзор

В этой статье мы рассмотрим, как библиотека RxJava помогает нам справляться с противодавлением.

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

Несложно попасть в ситуацию, когда Observable выдает элементы быстрее, чем подписчик может их потреблять. Мы рассмотрим различные решения проблемы растущего буфера неиспользованных предметов.

2. Горячие наблюдаемые против холодных наблюдаемых

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

1. Введение

После введения в RxJava мы рассмотрим операторы фильтрации.

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

2. Фильтрация

При работе с Observable иногда бывает полезно выбрать только подмножество испускаемых элементов. Для этой цели RxJava предлагает различные возможности фильтрации .