Класс ObjID
- Все реализованные интерфейсы:
Serializable
public final class ObjID extends Object implements Serializable
ObjID используется для идентификации удаленного объекта, экспортированного в среду выполнения RMI. При экспорте удаленному объекту назначается идентификатор объекта — неявно или явно, в зависимости от используемого API экспорта. Конструктор ObjID() можно использовать для создания уникального идентификатора объекта. Такой ObjID уникален во времени относительно хоста, на котором он создан. Конструктор ObjID(int) можно использовать для создания «известного» идентификатора объекта. Область действия известного ObjID зависит от среды выполнения RMI, в которую он экспортирован.
Экземпляр ObjID содержит номер объекта (типа long) и идентификатор адресного пространства (типа UID). В уникальном ObjID идентификатор адресного пространства уникален во времени относительно заданного хоста. В известном ObjID идентификатор адресного пространства эквивалентен идентификатору, возвращаемому конструктором UID(short), вызванным со значением ноль.
Если системное свойство java.rmi.server.randomIDs определено и равно строке "true" (без учета регистра), конструктор ObjID() будет использовать криптографически стойкий генератор случайных чисел для выбора номера объекта возвращаемого ObjID.
- Начиная с версии:
- 1.1
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
ACTIVATOR_ID |
Номер объекта для известного ObjID активатора. |
static final int |
DGC_ID |
Номер объекта для известного ObjID распределенного сборщика мусора. |
static final int |
REGISTRY_ID |
Номер объекта для известного ObjID реестра. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ObjID() |
Создает уникальный идентификатор объекта. |
ObjID |
Создает «известный» идентификатор объекта. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals |
Сравнивает указанный объект с этим ObjID на предмет равенства. |
int |
hashCode() |
Возвращает хеш-код этого идентификатора объекта — номер объекта. |
static ObjID |
read |
Создает и возвращает новый экземпляр ObjID, десериализуя двоичное представление из экземпляра ObjectInput. |
String |
toString() |
Возвращает строковое представление этого идентификатора объекта. |
void |
write |
Сериализует двоичное представление этого ObjID в экземпляр ObjectOutput. |
Методы, объявленные в классе Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
protected void |
finalize() |
Устарело, планируется удаление: этот элемент API может быть удален в будущей версии. Метод finalize() устарел и может быть удален в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания. |
final void |
wait |
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
Подробное описание полей
REGISTRY_ID
public static final int REGISTRY_ID
ObjID реестра.- См. также:
ACTIVATOR_ID
public static final int ACTIVATOR_ID
ObjID активатора.- См. также:
DGC_ID
public static final int DGC_ID
ObjID распределенного сборщика мусора.- См. также:
Подробное описание конструкторов
ObjID
public ObjID()
Если системное свойство java.rmi.server.randomIDs определено и равно строке "true" (без учета регистра), этот конструктор будет использовать криптографически стойкий генератор случайных чисел для выбора номера объекта возвращаемого ObjID.
ObjID
public ObjID(int objNum)
ObjID, созданный с помощью этого конструктора, не будет конфликтовать ни с одним ObjID, созданным с помощью конструктора без аргументов.
- Параметры:
-
objNum— номер объекта для известного идентификатора объекта
Подробное описание методов
write
public void write(ObjectOutput out) throws IOException
ObjID в экземпляр ObjectOutput. В частности, этот метод сначала вызывает метод DataOutput.writeLong(long) указанного потока, передавая ему номер объекта этого идентификатора, а затем записывает его идентификатор адресного пространства, вызывая метод UID.write(DataOutput) с этим потоком.
- Параметры:
-
out— экземплярObjectOutput, в который записывается этотObjID - Исключения:
-
IOException— если при выполнении этой операции возникает ошибка ввода-вывода
read
public static ObjID read(ObjectInput in) throws IOException
ObjID, десериализуя двоичное представление из экземпляра ObjectInput. В частности, этот метод сначала вызывает метод DataInput.readLong() указанного потока для чтения номера объекта, затем вызывает UID.read(DataInput) с этим потоком для чтения идентификатора адресного пространства, а после этого создает и возвращает новый экземпляр ObjID, содержащий номер объекта и идентификатор адресного пространства, прочитанные из потока.
- Параметры:
-
in— экземплярObjectInput, из которого считываетсяObjID - Возвращает:
- десериализованный экземпляр
ObjID - Исключения:
-
IOException— если при выполнении этой операции возникает ошибка ввода-вывода
hashCode
equals
public boolean equals(Object obj)
ObjID на предмет равенства. Этот метод возвращает true тогда и только тогда, когда указанный объект является экземпляром ObjID с теми же номером объекта и идентификатором адресного пространства, что и у этого объекта.toString
© 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.