Что происходит, когда коллекция в Java увеличивается до предела?

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

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

Итак, вопрос, который проще сказать, заключается в следующем: какое исключение мне нужно отследить или отследить, чтобы уведомить меня, если добавление в список не удается из-за недостатка ресурсов? Приведет ли это к ООМ в самой ВМ, или также существует ограничение на уровне коллекции?

Если нет ограничения на уровне сбора, как бы вы порекомендовали мне отслеживать использование службы? В настоящее время у нас есть метрики использования кучи и памяти. Этого достаточно? Кроме того, JVM настроены на уничтожение при ошибке OOM (это потому, что диспетчер виртуальных машин затем перезапускает любой процесс, которым он управляет при уничтожении).

Ответы на вопрос(3)

Ваш ответ на вопрос