Класс 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. |
Подробное описание полей
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
public int hashCode()
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- значение хэш-кода для этого идентификатора объекта
- См. также:
equals
public boolean equals(Object obj)
ObjID на равенство. Этот метод возвращает true тогда и только тогда, когда указанный объект является экземпляром ObjID с тем же номером объекта и идентификатором адресного пространства, что и этот.- Переопределяет:
-
equalsв классеObject - Параметры:
-
obj- объект, с которым необходимо сравнить этотObjID - Возвращает:
-
trueесли заданный объект эквивалентен этому, иfalseв противном случае - См. также:
toString
public String toString()
- Переопределяет:
-
toStringв классеObject - Возвращает:
- строковое представление этого идентификатора объекта
© 1993, 2023, 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.
https://docs.oracle.com/en/java/javase/21/docs/api/java.rmi/java/rmi/server/ObjID.html