В Java нет стандартной системы, позволяющей по-настоящему изолировать память, используемую веб-приложениями.
Тем не менее, вы можете написать некоторую логику переплетения байт-кода, чтобы отслеживать, сколько памяти выделено конкретному приложению. Если он превышает определенный порог, вы можете выдать исключение и остановить приложение от выделения памяти. Что вы хотите сделать, если вы могли бы отслеживать всю память, потребляемую веб-приложением? Что вы пытаетесь реализовать?
Обратите внимание, что это действительно будет эффективно работать только для того, чтобы выяснить, сколько памяти выделено веб-приложению, а не сколько он потребляет в настоящее время в системе. Для того, чтобы получить эту метрику, вам нужно было бы использовать байтовый код weave finalize () для всех объектов. Поскольку finalize () запускается JVM наилучшим образом, это может не дать вам наиболее точного значения, если система находится под нагрузкой. JVM удалит приоритеты из этих завершающих потоков, и ваше значение никогда не будет обновлено, даже если объекты были очищены.