458 подписчиков
В Java пул строк (String Pool) - это механизм, который используется для управления объектами типа String. Этот пул представляет собой специальный область в памяти, где хранятся все уникальные строки, созданные в приложении. При создании новой строки Java автоматически проверяет наличие уже созданной строки с таким же содержимым в пуле строк, и если она там уже есть, то возвращается ссылка на существующий объект String, а не создается новый. Использование пула строк имеет следующие...
1 год назад
7 подписчиков
Сегодня поговорим про память в JVM. Все знают про heap и stack. Начнем с них. 1) heap, она же куча. Хранит все создаваемые при работе JVM объекты. Очищается сборщиком мусора - garbage collector. Делится на поколения: Eden, Survivor и Tenured (Old), между которыми перемещаются выжившие при сборке мусора объекты. Кроме объектов начиная с Java 7 хранит также пул строк и другие пулы. Другие пулы - это пулы базовых типов-обверток над примитивами с фиксированным числом значений. Т.е. Boolean, Byte, Short, Integer, Long, Character...
1 год назад
2 подписчика
О многопоточности в Java написано немало статей и книг, подготовлено много докладов. В данной статье я простыми словами постараюсь описать что такое ExecutorPool и на простом примере увидеть его в действии ExecutorPool Java - это пул потоков, используемый для управления и организации выполнения задач. ExecutorPool Java позволяет приложениям использовать несколько потоков для выполнения их задач. Это позволяет обрабатывать большое количество задач одновременно, что ускоряет обработку. ExecutorPool Java также упрощает рутинную работу, такую как создание, удаление и мониторинг потоков...
1 год назад
458 подписчиков
В Java используется шаблон проектирования "Пул объектов" (Object Pool), который позволяет повторно использовать уже созданные объекты, вместо того чтобы создавать новые. В случае пула строк в Java, при создании новой строки происходит проверка на наличие такой же строки в пуле строк, и если она там уже существует, то возвращается ссылка на существующий объект строки из пула, что позволяет избежать необходимости создания нового объекта строки и уменьшает нагрузку на сборщик мусора...
1 год назад
458 подписчиков
Для реализации пула потоков в Java можно использовать Executor framework. Он предоставляет высокоуровневые классы Executor, ExecutorService, ThreadPoolExecutor, ScheduledExecutorService, которые облегчают работу с потоками и позволяют запускать асинхронные задачи. Здесь приведен пример, показывающий создание пула потоков с использованием ThreadPoolExecutor: import java.util.concurrent.Executors; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; public class ThreadPoolExample...
9 месяцев назад