Класс ObjID
- java.lang.Object
-
- java.rmi.server.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 int |
ACTIVATOR_ID |
Номер объекта для известного |
static int |
DGC_ID |
Номер объекта для известного |
static int |
REGISTRY_ID |
Номер объекта для известного |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ObjID() |
Генерирует уникальный идентификатор объекта. |
ObjID(int objNum) |
Создаёт «известный» идентификатор объекта. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals(Object obj) |
Сравнивает указанный объект с этим |
int |
hashCode() |
Возвращает значение хэш-кода для этого идентификатора объекта, номер объекта. |
static ObjID |
read(ObjectInput in) |
Создаёт и возвращает новый объект |
String |
toString() |
Возвращает строковое представление этого идентификатора объекта. |
void |
write(ObjectOutput out) |
Маршаллирует двоичное представление этого |
Методы, объявленные в классе java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, 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
public int hashCode()
Возвращает значение хэш-кода для этого идентификатора объекта, номер объекта.
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- значение хэш-кода для этого идентификатора объекта
- См. также:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
equals
public boolean equals(Object obj)
Сравнивает указанный объект с этим ObjID на равенство. Этот метод возвращает true тогда и только тогда, когда указанный объект является объектом ObjID с тем же номером объекта и идентификатором адресного пространства, что и этот.
- Переопределяет:
-
equalsв классеObject - Параметры:
-
obj- объект для сравнения с этимObjID - Возвращает:
-
trueесли данный объект эквивалентен этому, иfalseв противном случае - См. также:
-
Object.hashCode(),HashMap
toString
public String toString()
Возвращает строковое представление этого идентификатора объекта.
© 1993, 2020, 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/11/docs/api/java.rmi/java/rmi/server/ObjID.html