Интерфейс MonitorContendedEnterRequest
- Все суперинтерфейсы:
EventRequest, Mirror
public interface MonitorContendedEnterRequest extends EventRequest
Запрос на уведомление о попытке потока в целевой ВМ войти в монитор, уже захваченный другим потоком. Когда срабатывает включенный MonitorContededEnterRequest,
event set, содержащий MonitorContendedEnterEvent, помещается в EventQueue. Коллекцией существующих MonitorContendedEnterEvents управляет EventRequestManager
- Начиная с:
- 1.6
- См. также:
Краткое описание полей
Поля, объявленные в интерфейсе EventRequest
SUSPEND_ALL, SUSPEND_EVENT_THREAD, SUSPEND_NONE | Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
SUSPEND_ALL |
При возникновении события приостановить все потоки |
static final int |
SUSPEND_EVENT_THREAD |
При возникновении события приостановить только поток, вызвавший это событие |
static final int |
SUSPEND_NONE |
При возникновении события не приостанавливать потоки |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addClassExclusionFilter |
Ограничивает события, создаваемые этим запросом, только теми, метод которых находится в классе с именем, не соответствующим этому регулярному выражению, например |
void |
addClassFilter |
Ограничивает события, создаваемые этим запросом, только теми, метод которых находится в указанном ссылочном типе или любом из его подтипов. |
void |
addClassFilter |
Ограничивает события, создаваемые этим запросом, только теми, метод которых находится в классе с именем, соответствующим этому регулярному выражению. |
void |
addInstanceFilter |
Ограничивает события, создаваемые этим запросом, только теми, в которых текущий исполняемый экземпляр ("this") является указанным объектом. |
void |
addThreadFilter |
Ограничивает события, создаваемые этим запросом, только теми, которые относятся к указанному потоку. |
Методы, объявленные в интерфейсе EventRequest
addCountFilter, disable, enable, getProperty, isEnabled, putProperty, setEnabled, setSuspendPolicy, suspendPolicy | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addCountFilter |
Ограничивает выдачу запрошенного события не более чем одним разом после заданного числа срабатываний. |
void |
disable() |
То же, что и setEnabled(false). |
void |
enable() |
То же, что и setEnabled(true). |
Object |
getProperty |
Возвращает значение свойства с указанным ключом. |
boolean |
isEnabled() |
Определяет, включен ли в данный момент этот запрос события. |
void |
putProperty |
Добавляет к этому запросу произвольное свойство «ключ/значение». |
void |
setEnabled |
Включает или отключает этот запрос события. |
void |
setSuspendPolicy |
Определяет потоки, которые следует приостановить при возникновении запрошенного события в целевой ВМ. |
int |
suspendPolicy() |
Возвращает значение, описывающее потоки, которые следует приостановить при возникновении запрошенного события в целевой ВМ. |
Методы, объявленные в интерфейсе Mirror
toString, virtualMachine | Модификатор и тип | Метод | Описание |
|---|---|---|
String |
toString() |
Возвращает строку с описанием этого зеркала |
VirtualMachine |
virtualMachine() |
Возвращает виртуальную машину, к которой относится это зеркало. |
Подробное описание методов
addThreadFilter
void addThreadFilter(ThreadReference thread)
Ограничивает события, создаваемые этим запросом, только теми, которые относятся к указанному потоку.
- Параметры:
-
thread— поток, по которому выполняется фильтрация. - Исключения:
-
InvalidRequestStateException— если этот запрос в данный момент включен или был удален. Фильтры можно добавлять только к отключенным запросам.
addClassFilter
void addClassFilter(ReferenceType refType)
Ограничивает события, создаваемые этим запросом, только теми, метод которых находится в указанном ссылочном типе или любом из его подтипов. Событие будет создано для любого местоположения в ссылочном типе, который можно безопасно привести к указанному ссылочному типу.
- Параметры:
-
refType— ссылочный тип, по которому выполняется фильтрация. - Исключения:
-
InvalidRequestStateException— если этот запрос в данный момент включен или был удален. Фильтры можно добавлять только к отключенным запросам.
addClassFilter
void addClassFilter(String classPattern)
Ограничивает события, создаваемые этим запросом, только теми, метод которых находится в классе с именем, соответствующим этому регулярному выражению. Регулярные выражения ограничены точными совпадениями и шаблонами, начинающимися с «*» или заканчивающимися на «*»; например, "*.Foo" или "java.*".
- Параметры:
-
classPattern— строка с шаблоном для фильтрации. - Исключения:
-
InvalidRequestStateException— если этот запрос в данный момент включен или был удален. Фильтры можно добавлять только к отключенным запросам.
addClassExclusionFilter
void addClassExclusionFilter(String classPattern)
Ограничивает события, создаваемые этим запросом, только теми, метод которых находится в классе с именем, не соответствующим этому регулярному выражению, например "java.*" или "*.Foo".
- Параметры:
-
classPattern— строка с шаблоном, по которому выполняется фильтрация. - Исключения:
-
InvalidRequestStateException— если этот запрос в данный момент включен или был удален. Фильтры можно добавлять только к отключенным запросам.
addInstanceFilter
void addInstanceFilter(ObjectReference instance)
Ограничивает события, создаваемые этим запросом, только теми, в которых текущий исполняемый экземпляр ("this") является указанным объектом.
Не все целевые системы поддерживают эту операцию. Используйте VirtualMachine.canUseInstanceFilters(), чтобы определить, поддерживается ли эта операция.
- Параметры:
-
instance— объект, который должен быть текущим экземпляром, чтобы пройти этот фильтр. - Исключения:
-
UnsupportedOperationException— если целевая виртуальная машина не поддерживает эту операцию. -
InvalidRequestStateException— если этот запрос в данный момент включен или был удален. Фильтры можно добавлять только к отключенным запросам.
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.