Класс Util
java.lang.Object
jdk.jshell.execution.Util
public class Util extends Object
Различные вспомогательные методы для настройки реализаций
ExecutionControl. В частности, реализаций с удалённым выполнением.- Начиная с версии:
- 9
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static void |
detectJdiExitEvent |
Отслеживает поток событий JDI на предмет VMDeathEvent и VMDisconnectEvent. |
static void |
forwardExecutionControl |
Пересылает команды из входного потока указанному экземпляру ExecutionControl, а затем передаёт ответы в выходной поток. |
static void |
forwardExecutionControlAndIO |
Пересылает команды из входного потока указанному экземпляру ExecutionControl, а затем передаёт ответы в выходной поток. |
static ExecutionControl |
remoteInputOutput |
Создаёт ExecutionControl для заданных пакетированных входного и выходного потоков. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли другой объект этому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии. Финализация объявлена устаревшей и будет удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Приостанавливает текущий поток до его пробуждения, обычно в результате уведомления или прерывания. |
final void |
wait |
Приостанавливает текущий поток до его пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Приостанавливает текущий поток до его пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
Подробное описание методов
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— обработчик, который получит сведения о завершении
© 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.