В статье мы разберем пример использования подхода — дробления данных (chunking). В мире разработки полно задач, связанных с обработкой больших объёмов данных. Будь то логи, дампы баз данных или файлы с медиа-контентом — эффективная работа с такими ресурсами становится критичной. В этой статье мы разберём практический пример многопоточной обработки файла в Java, где исходный файл разбивается на небольшие фрагменты (чанки) фиксированного размера. Такой подход лежит в основе многих систем: от торрент-клиентов до распределённых файловых хранилищ.
Читать далее »Все записи категории ‘Java’
Замеряем время выполнения в Java.
Замер времени выполнения кода — не редкая задача в разработке. Мы постоянно измеряем, сколько работает запрос к БД, сколько сортируется массив, сколько выполняется тяжёлый алгоритм. Казалось бы, что тут сложного? Написал System.currentTimeMillis() до и после — и готово.
Но на практике всё немного сложнее. В этой статье мы:
- Создадим готовое решение, которое можно сразу скопировать в проект
- Разберём, почему стандартные подходы плохи
- Напишем свой класс
MeasureTimeс нуля - Поймём, как правильно измерять время в разных сценариях
Как правильно измерить длину строки в Java: от length() до графем
Строки в Java кажутся простыми, из коробки поддерживается UTF-16, но стоит вам добавить эмодзи, и привычный length() выдаёт «магические» числа. В этой статье разберём, как на самом деле устроены строки в Java, почему эмодзи занимают два char, и как корректно подсчитать количество символов, видимых глазом.