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

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

1. Обзор

В этом руководстве мы рассмотрим функции запоминания в библиотеке Google Guava.

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

1.1. Мемоизация против кэширования

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

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

1. Обзор

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

В Guava доступны четыре класса математических утилит:

  1. IntMath — операция над значениями int
  2. LongMath — операции над длинными значениями
  3. BigIntegerMath — операции с большими целыми числами
  4. DoubleMath — операции над двойными значениями

2. Утилита IntMath

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

В этом кратком руководстве мы рассмотрим служебный класс CharMatcher в Guava.

1. Удалить специальные символы из строки

Начнем с удаления всех специальных символов из строки .

В следующем примере мы удаляем все символы, которые не являются цифрами или буквами, с помощью функции continueFrom() :

@Test
public void whenRemoveSpecialCharacters_thenRemoved(){
String input = "H*el.lo,}12";
CharMatcher matcher = CharMatcher.javaLetterOrDigit();
String result = matcher.retainFrom(input);

assertEquals("Hello12", result);
}

2. Удалить символы, отличные от ASCII, из строки

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

1. Обзор

В этом уроке я покажу, как разделить список на несколько подсписков заданного размера.

Для относительно простой операции нет поддержки в стандартных API коллекций Java. К счастью, и в Guava , и в Apache Commons Collections операция реализована аналогичным образом.

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

2. Используйте Guava для разделения списка

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

1. Введение

Этой статьей мы начнем новую серию, посвященную набору инструментов для имитации JMockit .

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

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

2. ДжМокит

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

1. Введение

В этой статье мы выйдем за рамки основ JMockit и начнем рассматривать некоторые расширенные сценарии, такие как:

  • Подделка (или MockUp API)
  • Вспомогательный класс деинкапсуляции
  • Как издеваться над более чем одним интерфейсом, используя только один макет
  • Как повторно использовать ожидания и проверки

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

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

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

1. Обзор

Выражения Cron позволяют нам планировать периодическое выполнение задач в определенную дату и время. После его появления в Unix другие операционные системы и программные библиотеки на основе Unix (включая Spring Framework) переняли его подход к планированию задач.

В этом кратком руководстве мы увидим, в чем разница между выражениями Cron в операционных системах на основе Unix и Spring Framework.

2. Юникс Крон

Cron в большинстве систем на основе Unix имеет пять полей: минуты (0-59), часы (0-23), день месяца (1-31), месяцы (1-12 или имена) и день недели ( 0-7 или имена).

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

1. Весна и Ява

>> Предвзятое запирание конченного, но впереди маячат лучшие вещи [ javaspecialists.eu ]

Готовы попрощаться со смещенной блокировкой в Java 15? Очень подробный обзор эффекта Biased Locking в многопоточных средах и его связи с Project Loom.

>> Общие исключения Hibernate, которые должен знать каждый разработчик [ thorben-janssen.com ]

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

>> Helidon 2.0 включает новый веб-клиент, клиент БД и инструмент командной строки [ infoq.com ]

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

1. Обзор

В этом кратком руководстве мы рассмотрим, как использовать переменные, определенные в файле pom.xml Maven, из приложения Java.

2. Конфигурация плагина

В этом примере мы будем использовать подключаемый модуль Maven Properties .

Этот плагин будет привязан к фазе генерации ресурсов и создаст файл, содержащий переменные, определенные в нашем pom.xml во время компиляции. Затем мы можем прочитать этот файл во время выполнения, чтобы получить значения.

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

1. Обзор

Многомодульные проекты Maven могут иметь сложные графы зависимостей. Это может привести к необычным результатам, чем больше модули импортируют друг друга.

В этом руководстве мы увидим, как разрешить конфликт версий артефактов в Maven .

Мы начнем с многомодульного проекта, в котором намеренно использовали разные версии одного и того же артефакта. Затем мы увидим, как предотвратить получение неправильной версии артефакта с помощью исключения или управления зависимостями.

Наконец, мы попробуем использовать maven-enforcer-plugin , чтобы упростить управление, запретив использование транзитивных зависимостей.

2. Версия Столкновение Артефактов