Класс 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 |
Создаёт новый 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 |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения заданного интервала реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения заданного интервала реального времени. |
Подробное описание конструкторов
MarshalledObject
public MarshalledObject(T obj) throws IOException
MarshalledObject, содержащий сериализованное представление текущего состояния переданного объекта. Объект сериализуется с использованием семантики, применяемой для маршаллинга параметров вызовов RMI.- Параметры:
-
obj— объект, который необходимо сериализовать (должен быть сериализуемым) - Вызывает исключение:
-
IOException— если возникаетIOException; также может возникнутьIOException, еслиobjне сериализуем. - Начиная с версии:
- 1.2
Подробное описание методов
get
public T get() throws IOException, ClassNotFoundException
- Возвращает:
- копию содержащегося объекта
- Вызывает исключение:
-
IOException— если при десериализации объекта из его внутреннего представления возникаетIOException. -
ClassNotFoundException— если при десериализации объекта из его внутреннего представления возникаетClassNotFoundException. объект не найден - Начиная с версии:
- 1.2
hashCode
equals
public boolean equals(Object obj)
MarshalledObject с другим объектом. Возвращает true тогда и только тогда, когда аргумент ссылается на MarshalledObject, содержащее в точности такое же сериализованное представление объекта, как и этот объект. При сравнении не учитывается аннотация базового кода класса: два объекта считаются эквивалентными, если их сериализованные представления совпадают за исключением базового кода каждого класса в сериализованном представлении.
© 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.