Spec-Zone.ru › OpenJDK 27

Интерфейс EventSet

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

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

Для событий, объединяемых в набор событий, действуют следующие ограничения:

  • Всегда образуют отдельный набор:
    • VMStartEvent
    • VMDisconnectEvent
  • Только с другими событиями VMDeathEvent:
    • VMDeathEvent
  • Только с другими событиями ThreadStartEvent для той же нити:
    • ThreadStartEvent
  • Только с другими событиями ThreadDeathEvent для той же нити:
    • ThreadDeathEvent
  • Только с другими событиями ClassPrepareEvent для того же класса:
    • ClassPrepareEvent
  • Только с другими событиями ClassUnloadEvent для того же класса:
    • ClassUnloadEvent
  • Только с другими событиями AccessWatchpointEvent для того же доступа к полю:
    • AccessWatchpointEvent
  • Только с другими событиями ModificationWatchpointEvent для того же изменения поля:
    • ModificationWatchpointEvent
  • Только с другими событиями ExceptionEvent для того же возникновения исключения:
    • ExceptionEvent
  • Только с другими событиями MethodExitEvent для того же выхода из метода:
    • MethodExitEvent
  • Только с другими событиями входа в монитор при конкуренции за тот же объект монитора:
    • Событие входа в монитор при конкуренции (Monitor Contended Enter Event)
  • Только с другими событиями успешного входа в монитор после ожидания того же объекта монитора:
    • Событие успешного входа в монитор после конкуренции (Monitor Contended Entered Event)
  • Только с другими событиями ожидания того же объекта монитора:
    • Событие ожидания монитора (Monitor Wait Event)
  • Только с другими событиями завершения ожидания того же объекта монитора:
    • Событие завершения ожидания монитора (Monitor Waited Event)
  • Только с другими членами этой группы, находящимися в том же местоположении и в той же нити:
    • BreakpointEvent
    • StepEvent
    • MethodEntryEvent
Начиная с версии:
1.3
См. также:
  • Event
  • EventQueue

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

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

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

parallelStream, removeIf, stream, toArray
Модификатор и тип Метод Описание
default Stream<Event> parallelStream()
Возвращает, возможно, параллельный Stream, источником которого является эта коллекция.
default boolean removeIf(Predicate<? super Event> filter)
Удаляет из этой коллекции все элементы, удовлетворяющие заданному предикату (необязательная операция).
default Stream<Event> stream()
Возвращает последовательный Stream, источником которого является эта коллекция.
default <T> T[] toArray(IntFunction<T[]> generator)
Возвращает массив, содержащий все элементы этой коллекции; для выделения возвращаемого массива используется предоставленная функция generator.

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

forEach
Модификатор и тип Метод Описание
default void forEach(Consumer<? super Event> action)
Выполняет заданное действие для каждого элемента Iterable, пока не будут обработаны все элементы или действие не вызовет исключение.

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

toString, virtualMachine
Модификатор и тип Метод Описание
String toString()
Возвращает строку с описанием этого зеркала
VirtualMachine virtualMachine()
Возвращает VirtualMachine, к которой относится это зеркало.

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

add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, spliterator, toArray, toArray
Модификатор и тип Метод Описание
boolean add(Event e)
Добавляет указанный элемент в это множество, если он еще не присутствует (необязательная операция).
boolean addAll(Collection<? extends Event> c)
Добавляет в это множество все элементы указанной коллекции, которых в нем еще нет (необязательная операция).
void clear()
Удаляет из этого множества все элементы (необязательная операция).
boolean contains(Object o)
Возвращает true, если это множество содержит указанный элемент.
boolean containsAll(Collection<?> c)
Возвращает true, если это множество содержит все элементы указанной коллекции.
boolean equals(Object o)
Сравнивает указанный объект с этим множеством на равенство.
int hashCode()
Возвращает значение хеш-кода этого множества.
boolean isEmpty()
Возвращает true, если это множество не содержит элементов.
Iterator<Event> iterator()
Возвращает итератор по элементам этого множества.
boolean remove(Object o)
Удаляет указанный элемент из этого множества, если он присутствует (необязательная операция).
boolean removeAll(Collection<?> c)
Удаляет из этого множества все элементы, содержащиеся в указанной коллекции (необязательная операция).
boolean retainAll(Collection<?> c)
Оставляет в этом множестве только элементы, содержащиеся в указанной коллекции (необязательная операция).
int size()
Возвращает количество элементов в этом множестве (его мощность).
default Spliterator<Event> spliterator()
Создает Spliterator по элементам этого множества.
Object[] toArray()
Возвращает массив, содержащий все элементы этого множества.
<T> T[] toArray(T[] a)
Возвращает массив, содержащий все элементы этого множества; тип элементов возвращаемого массива во время выполнения совпадает с типом указанного массива.

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

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, 2026, 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.

Spec-Zone.ru

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