Spec-Zone.ru › OpenJDK 27

Класс MarshalledObject<T>

java.lang.Object
java.rmi.MarshalledObject<T>
Параметры типа:
T — тип объекта, содержащегося в этом MarshalledObject
Все реализуемые интерфейсы:
Serializable
public final class MarshalledObject<T> extends Object implements Serializable
Объект MarshalledObject содержит поток байтов с сериализованным представлением объекта, переданного конструктору. Метод get возвращает новую копию исходного объекта, десериализованную из содержащегося потока байтов. Содержащийся объект сериализуется и десериализуется с использованием той же семантики сериализации, которая применяется при маршаллинге и анмаршаллинге параметров и возвращаемых значений вызовов RMI. При создании сериализованного представления:
  • классы аннотируются URL базового кода, откуда можно загрузить класс (если он доступен), и
  • любой удалённый объект в MarshalledObject представлен сериализованным экземпляром своей заглушки.

При получении копии объекта (с помощью метода get), если класс недоступен локально, он будет загружен из соответствующего расположения (указанного в URL, аннотированном в дескрипторе класса при сериализации класса).

MarshalledObject позволяет передавать объекты в вызовах RMI, которые не десериализуются автоматически сразу же удалённым узлом.

Начиная с версии:
1.2
См. также:
  • Сериализованное представление

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

Конструктор Описание
MarshalledObject(T obj)
Создаёт новый MarshalledObject, содержащий сериализованное представление текущего состояния переданного объекта.

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

Модификатор и тип Метод Описание
boolean equals(Object obj)
Сравнивает этот MarshalledObject с другим объектом.
T get()
Возвращает новую копию содержащегося объекта MarshalledObject.
int hashCode()
Возвращает хеш-код этого MarshalledObject.

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

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

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

MarshalledObject

public MarshalledObject(T obj) throws IOException
Создаёт новый MarshalledObject, содержащий сериализованное представление текущего состояния переданного объекта. Объект сериализуется с использованием семантики, применяемой для маршаллинга параметров вызовов RMI.
Параметры:
obj — объект, который необходимо сериализовать (должен быть сериализуемым)
Вызывает исключение:
IOException — если возникает IOException; также может возникнуть IOException, если obj не сериализуем.
Начиная с версии:
1.2

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

get

public T get() throws IOException, ClassNotFoundException
Возвращает новую копию содержащегося объекта MarshalledObject. Внутреннее представление десериализуется с использованием семантики, применяемой для анмаршаллинга параметров вызовов RMI. Если MarshalledObject был прочитан из ObjectInputStream, для десериализации объекта используется фильтр этого потока.
Возвращает:
копию содержащегося объекта
Вызывает исключение:
IOException — если при десериализации объекта из его внутреннего представления возникает IOException.
ClassNotFoundException — если при десериализации объекта из его внутреннего представления возникает ClassNotFoundException. объект не найден
Начиная с версии:
1.2

hashCode

public int hashCode()
Возвращает хеш-код этого MarshalledObject.
Переопределяет:
hashCode в классе Object
Возвращает:
хеш-код
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(Object)

equals

public boolean equals(Object obj)
Сравнивает этот MarshalledObject с другим объектом. Возвращает true тогда и только тогда, когда аргумент ссылается на MarshalledObject, содержащее в точности такое же сериализованное представление объекта, как и этот объект. При сравнении не учитывается аннотация базового кода класса: два объекта считаются эквивалентными, если их сериализованные представления совпадают за исключением базового кода каждого класса в сериализованном представлении.
Переопределяет:
equals в классе Object
Параметры:
obj — объект для сравнения с этим MarshalledObject
Возвращает:
true, если аргумент содержит эквивалентный сериализованный объект; в противном случае — false
Начиная с версии:
1.2
См. также:
  • Object.hashCode()
  • HashMap

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