Spec-Zone.ru › OpenJDK 25

Интерфейс EventSet

Все суперинтерфейсы:
Collection<Event>, Iterable<Event>, Mirror, Set<Event>
public interface EventSet extends Mirror, Set<Event>
В целевой VirtualMachine в данный момент может быть создано несколько объектов Event. Например, для одного и того же Location может быть создано несколько объектов BreakpointRequest, или при пошаговом выполнении можно попасть в ту же точку, что и при запросе точки останова. Эти объекты Event доставляются вместе в виде EventSet. Для единообразия объекты Event всегда доставляются с помощью EventSet. EventSet доставляются через EventQueue. EventSet нельзя изменить.

При выдаче набора событий в целевой виртуальной машине могли быть приостановлены потоки. Эти приостановки соответствуют suspend policy. Чтобы гарантировать соответствующие возобновления, рекомендуется, когда это возможно, завершать обработку набора событий вызовом EventSet.resume().

События, объединяемые в EventSet, ограничены следующими правилами:

  • Всегда отдельные наборы:
    • VMStartEvent
    • VMDisconnectEvent
  • Только вместе с другими VMDeathEvents:
    • VMDeathEvent
  • Только вместе с другими ThreadStartEvents для того же потока:
    • ThreadStartEvent
  • Только вместе с другими ThreadDeathEvents для того же потока:
    • ThreadDeathEvent
  • Только вместе с другими ClassPrepareEvents для того же класса:
    • ClassPrepareEvent
  • Только вместе с другими ClassUnloadEvents для того же класса:
    • ClassUnloadEvent
  • Только вместе с другими AccessWatchpointEvents для того же доступа к полю:
    • AccessWatchpointEvent
  • Только вместе с другими ModificationWatchpointEvents для того же изменения поля:
    • ModificationWatchpointEvent
  • Только вместе с другими ExceptionEvents для того же возникновения исключения:
    • ExceptionEvent
  • Только вместе с другими MethodExitEvents для выхода из того же метода:
    • MethodExitEvent
  • Только вместе с другими событиями входа при конкуренции за монитор для того же объекта-монитора:
    • Событие входа при конкуренции за монитор
  • Только вместе с другими событиями входа после конкуренции за монитор для того же объекта-монитора:
    • Событие входа после конкуренции за монитор
  • Только вместе с другими событиями ожидания монитора для того же объекта-монитора:
    • Событие ожидания монитора
  • Только вместе с другими событиями завершения ожидания монитора для того же объекта-монитора:
    • Событие завершения ожидания монитора
  • Только вместе с другими событиями этой группы в той же точке и в том же потоке:
    • BreakpointEvent
    • StepEvent
    • MethodEntryEvent
Начиная с:
1.3
См. также:
  • Event
  • EventQueue

Краткое описание методов

Модификатор и тип Метод Описание
EventIterator eventIterator()
Возвращает итератор, предназначенный для объектов Event.
void resume()
Возобновляет выполнение потоков, приостановленных этим набором событий.
int suspendPolicy()
Возвращает политику, используемую для приостановки потоков в целевой виртуальной машине для этого набора событий.

Методы, объявленные в интерфейсе Collection

parallelStream, removeIf, stream, toArray

Методы, объявленные в интерфейсе Iterable

forEach

Методы, объявленные в интерфейсе Mirror

toString, virtualMachine

Методы, объявленные в интерфейсе Set

add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, spliterator, toArray, toArray

Подробное описание методов

suspendPolicy

int suspendPolicy()
Возвращает политику, используемую для приостановки потоков в целевой виртуальной машине для этого набора событий. Эта политика выбирается из политик приостановки для запросов каждого события; целевая виртуальная машина выбирает политику, приостанавливающую наибольшее количество потоков. Целевая виртуальная машина приостанавливает потоки в соответствии с этой политикой, которая и возвращается данным методом. Возможные значения политики см. в описании EventRequest.

В редких случаях политика приостановки может отличаться от запрошенного значения, если ClassPrepareEvent произошло в системном потоке отладчика. Подробности см. в описании ClassPrepareEvent.thread().

Возвращает:
значение suspendPolicy: SUSPEND_ALL, SUSPEND_EVENT_THREAD или SUSPEND_NONE.

eventIterator

EventIterator eventIterator()
Возвращает итератор, предназначенный для объектов Event.

resume

void resume()
Возобновляет выполнение потоков, приостановленных этим набором событий. Если suspendPolicy() имеет значение EventRequest.SUSPEND_ALL, вызов этого метода эквивалентен вызову VirtualMachine.resume(). Если политика приостановки имеет значение EventRequest.SUSPEND_EVENT_THREAD, вызов этого метода эквивалентен вызову ThreadReference.resume() для потока события. В противном случае вызов этого метода ничего не делает.

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.
https://docs.oracle.com/en/java/javase/25/docs/api/jdk.jdi/com/sun/jdi/event/EventSet.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API