Spec-Zone.ru › OpenJDK 27

Класс Util

java.lang.Object
jdk.jshell.execution.Util
public class Util extends Object
Различные вспомогательные методы для настройки реализаций ExecutionControl. В частности, реализаций с удалённым выполнением.
Начиная с версии:
9

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

Модификатор и тип Метод Описание
static void detectJdiExitEvent(VirtualMachine vm, Consumer<String> unbiddenExitHandler)
Отслеживает поток событий JDI на предмет VMDeathEvent и VMDisconnectEvent.
static void forwardExecutionControl(ExecutionControl ec, ObjectInput in, ObjectOutput out)
Пересылает команды из входного потока указанному экземпляру ExecutionControl, а затем передаёт ответы в выходной поток.
static void forwardExecutionControlAndIO(ExecutionControl ec, InputStream inStream, OutputStream outStream, Map<String, Consumer<OutputStream>> outputStreamMap, Map<String, Consumer<InputStream>> inputStreamMap)
Пересылает команды из входного потока указанному экземпляру ExecutionControl, а затем передаёт ответы в выходной поток.
static ExecutionControl remoteInputOutput(InputStream input, OutputStream output, Map<String, OutputStream> outputStreamMap, Map<String, InputStream> inputStreamMap, BiFunction<ObjectInput, ObjectOutput, ExecutionControl> factory)
Создаёт ExecutionControl для заданных пакетированных входного и выходного потоков.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли другой объект этому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Приостанавливает текущий поток до его пробуждения, обычно в результате уведомления или прерывания.
final void wait(long timeoutMillis)
Приостанавливает текущий поток до его пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Приостанавливает текущий поток до его пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного промежутка реального времени.

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

forwardExecutionControl

public static void forwardExecutionControl(ExecutionControl ec, ObjectInput in, ObjectOutput out)
Пересылает команды из входного потока указанному экземпляру ExecutionControl, а затем передаёт ответы в выходной поток.
Параметры:
ec — непосредственный экземпляр ExecutionControl для обработки команд
in — входной поток команд
out — выходной поток ответов на команды

forwardExecutionControlAndIO

public static void forwardExecutionControlAndIO(ExecutionControl ec, InputStream inStream, OutputStream outStream, Map<String, Consumer<OutputStream>> outputStreamMap, Map<String, Consumer<InputStream>> inputStreamMap) throws IOException
Пересылает команды из входного потока указанному экземпляру ExecutionControl, а затем передаёт ответы в выходной поток.
Параметры:
ec — непосредственный экземпляр ExecutionControl для обработки команд
inStream — поток, из которого создаётся входной поток команд
outStream — поток, который будет передавать указанные вспомогательные каналы (например, System.out и System.err), а также выходной поток ответов на команды.
outputStreamMap — карта соответствий между именами дополнительных потоков для передачи и методами установки потоков. Имена, начинающиеся с '$', зарезервированы для внутреннего использования.
inputStreamMap — карта соответствий между именами дополнительных потоков для передачи и методами установки потоков. Имена, начинающиеся с '$', зарезервированы для внутреннего использования.
Вызывает исключение:
IOException — если при использовании переданных потоков возникли ошибки

remoteInputOutput

public static ExecutionControl remoteInputOutput(InputStream input, OutputStream output, Map<String, OutputStream> outputStreamMap, Map<String, InputStream> inputStreamMap, BiFunction<ObjectInput, ObjectOutput, ExecutionControl> factory) throws IOException
Создаёт ExecutionControl для заданных пакетированных входного и выходного потоков. Переданный InputStream распаковывается, а его содержимое пересылается в ObjectInput и заданные OutputStreams. ObjectOutput и данные, считанные из переданного InputStream, упаковываются и отправляются в переданный OutputStream.
Параметры:
input — пакетированный входной поток
output — пакетированный выходной поток
outputStreamMap — карта соответствий между именами потоков и выходными потоками для пересылки. Имена, начинающиеся с '$', зарезервированы для внутреннего использования.
inputStreamMap — карта соответствий между именами потоков и входными потоками для пересылки. Имена, начинающиеся с '$', зарезервированы для внутреннего использования.
factory — функция для создания ExecutionControl из ObjectInput и ObjectOutput.
Возвращает:
созданный ExecutionControl
Вызывает исключение:
IOException — если при настройке потоков возникло исключение

detectJdiExitEvent

public static void detectJdiExitEvent(VirtualMachine vm, Consumer<String> unbiddenExitHandler)
Отслеживает поток событий JDI на предмет VMDeathEvent и VMDisconnectEvent. При обнаружении вызывает unbiddenExitHandler.
Параметры:
vm — виртуальная машина для проверки
unbiddenExitHandler — обработчик, который получит сведения о завершении

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по 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