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

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

1. Обзор

Часто нам бывает трудно решить, следует ли выполнять вычисления в базе данных (СУБД) или в коде приложения, чтобы одновременно получить хорошую производительность и удобство.

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

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

2. Расчет в базе данных

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

1. Обзор

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

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

Для каждого подхода мы представим две реализации — традиционную реализацию с использованием циклов for и вторую с использованием Java 8 Stream API.

2. Вернуть все совпадающие пары

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

1. Обзор

Структура данных HyperLogLog (HLL) — это вероятностная структура данных, используемая для оценки кардинальности набора данных .

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

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

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

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

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

1. Введение

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

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

2. Решения

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

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

1. Обзор

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

Например:

99 становится 100

200,2 становится 300

400 становится 400

2. Реализация

Во- первых, мы собираемся вызвать Math.ceil() для входного параметра. Math.ceil() возвращает наименьшее целое число, которое больше или равно аргументу. Например, если введено значение 200,2, Math.ceil() вернет 201.

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

1. Введение

В этом руководстве мы собираемся узнать о шаблоне проектирования Service Locator в Java .

Мы опишем концепцию, реализуем пример и выделим плюсы и минусы его использования.

2. Понимание шаблона

Целью шаблона Service Locator является возврат экземпляров службы по запросу. Это полезно для отделения потребителей услуг от конкретных классов.

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

1. Обзор

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

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

Простой способ подсчета слов в строке в Java — использовать класс StringTokenizer :

assertEquals(3, new StringTokenizer("three blind mice").countTokens());
assertEquals(4, new StringTokenizer("see\thow\tthey\trun").countTokens());

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

1. Введение

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

2. Наш пример

Предположим, у нас есть строка:

String inputString = "hello there, ForEach";

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

1. Весна и Ява

>> JEP 390: Предупреждения для классов на основе значений [ openjdk.java.net ]

На шаг ближе к встроенным классам и Project Valhalla : выдавать предупреждение, когда кто-то неправильно использует возможный встроенный класс-кандидат.

>> Heapothesys — тест задержки GC с открытым исходным кодом от Amazon Corretto [ infoq.com ]

Встречайте Heapothesys: набор рабочих нагрузок GC от Amazon для сравнения различных алгоритмов GC и разных конфигураций.

>> Классифицированный список всех функций Java и JVM, начиная с JDK 8–15 [ advancedweb.hu ]

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

1. Обзор

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

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

  • Использование @JsonProperty
  • Использование JsonNode
  • Использование пользовательского JsonDeserializer

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