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

61 запись с тегом "Guava"

Посмотреть все теги

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

1. Обзор

В этом кратком руководстве мы собираемся показать, как преобразовать файл в InputStream — сначала с помощью простой Java, а затем Guava и библиотеки ввода-вывода Apache Commons.

Эта статья является частью серии « Java — Back to Basics » здесь, на ForEach.

2. Конвертировать с помощью Java

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

1. Обзор

В этой статье мы рассмотрим конструкцию фильтра Блума из библиотеки Guava . Фильтр Блума — это вероятностная структура данных с эффективным использованием памяти, которую мы можем использовать для ответа на вопрос о том, находится ли данный элемент в множестве .

Фильтр Блума не дает ложных срабатываний , поэтому, когда он возвращает false , мы можем быть на 100 % уверены, что элемента нет в наборе.

Однако фильтр Блума может возвращать ложные срабатывания , поэтому, когда он возвращает true , существует высокая вероятность того, что элемент находится в наборе, но мы не можем быть уверены на 100%.

Для более глубокого анализа работы фильтра Блума вы можете пройти этот туториал .

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

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

1. Обзор

В этом руководстве мы рассмотрим, как преобразовать InputStream в строку.

Мы начнем с использования простой Java, включая решения Java8/9, а затем также рассмотрим использование библиотек ввода-вывода Guava и Apache Commons .

Эта статья является частью серии «Java — Back to Basic» здесь, на ForEach.

2. Преобразование с помощью Java — StringBuilder

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

1. Введение

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

Давайте подробно обсудим различные доступные решения этой проблемы разделения строк .

2. Основы

Вселенная Java предлагает довольно много библиотек ( например, java.lang.String , Guava и Apache Commons), облегчающих разбиение строк в простых и довольно сложных случаях. Кроме того, многофункциональные регулярные выражения обеспечивают дополнительную гибкость при разделении задач, связанных с сопоставлением определенного шаблона.

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

1. Обзор

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

Во-первых, мы объясним, почему использование простого оператора == является неточным и может привести к трудно отслеживаемым ошибкам во время выполнения. Затем мы покажем, как правильно сравнивать двойники в простой Java и в распространенных сторонних библиотеках.

2. Использование оператора ==

Неточность при сравнении с использованием оператора == вызвана тем, как значения типа double хранятся в памяти компьютера. Мы должны помнить, что существует бесконечное количество значений, которые должны поместиться в ограниченном пространстве памяти, обычно 64 бита. В результате мы не можем получить точное представление большинства значений типа double на наших компьютерах . Их нужно округлить, чтобы сохранить .

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

1. Обзор

В этом кратком руководстве мы покажем, как записать InputStream в файл. Сначала мы будем использовать обычную Java, затем Guava и, наконец, библиотеку Apache Commons IO.

Эта статья является частью руководства « Java — Back to Basic » здесь, на ForEach.

2. Конвертируйте с помощью обычной Java

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

1. Обзор

В этом руководстве мы сравним две библиотеки с открытым исходным кодом на основе Java: Apache Commons и Google Guava . Обе библиотеки имеют богатый набор функций с множеством служебных API, в основном в области коллекций и ввода-вывода.

Для краткости здесь мы опишем лишь несколько наиболее часто используемых из структуры коллекций вместе с примерами кода. Мы также увидим краткое изложение их различий.

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

2. Краткая история двух библиотек

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

1. Обзор

В этом руководстве мы покажем, как использовать интерфейс BiMap Google Guava и его многочисленные реализации.

BiMap ( или «двунаправленная карта») — это особый тип карты, который поддерживает инверсное представление карты, гарантируя отсутствие повторяющихся значений и всегда можно безопасно использовать значение для возврата ключа.

Базовой реализацией BiMap является HashBiMap , где внутренне он использует два Map , один для сопоставления ключа со значением, а другой для сопоставления значения с ключом.

2. BiMap Google Guava

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

1. Введение

В этой статье мы познакомимся с Guava CacheLoader .

Прежде чем читать дальше, рекомендуется сначала получить общее представление о классе LoadingCache . Это потому, что CacheLoader работает именно с ним.

По сути, CacheLoader — это функция, используемая для вычисления значения в случае, если оно не найдено в Guava LoadingCache .

2. Использование CacheLoader с LoadingCache

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

1. Обзор

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

ClassToInstanceMap расширяет интерфейс карты Java и предоставляет два дополнительных метода: T getInstance(Class<T>) и T putInstance(Class<T>, T). Преимущество этой карты в том, что эти два метода можно использовать для выполнения операций с типобезопасностью и предотвращения приведения.

В этом руководстве мы покажем, как использовать интерфейс ClassToInstanceMap Google Guava и его реализации.

2. Карта ClassToInstanceMap от Google Guava