Класс UID
- java.lang.Object
-
- java.rmi.server.UID
- Все реализованные интерфейсы:
Serializable
public final class UID extends Object implements Serializable
Объект UID представляет собой идентификатор, уникальный во времени относительно хоста, на котором он сгенерирован, или один из 216 «известных» идентификаторов.
Конструктор UID() может использоваться для генерации идентификатора, уникального во времени относительно хоста, на котором он сгенерирован. Конструктор UID(short) может использоваться для создания одного из 216 известных идентификаторов.
Экземпляр UID содержит три примитивных значения:
-
unique,int, уникально идентифицирующий виртуальную машину, в которой был сгенерирован этотUID, относительно её хоста и времени, представленного значениемtime(пример реализации значенияunique— идентификатор процесса), или ноль для известногоUID -
time,long, равный времени (как возвращается методомSystem.currentTimeMillis()), в которое виртуальная машина, в которой был сгенерирован этотUID, была активна, или ноль для известногоUID -
count,shortдля различенияUIDэкземпляров, сгенерированных в одной виртуальной машине с одинаковым значениемtime
Экземпляр UID , сгенерированный независимо, уникален во времени относительно хоста, на котором он сгенерирован, при условии, что перезапуск хоста занимает более одной миллисекунды и системные часы никогда не отматываются назад. Глобально уникальный идентификатор может быть построен путём объединения экземпляра UID с уникальным идентификатором хоста, например, IP-адресом.
- С:
- 1.1
- См. также:
- Сериализованная форма
Конструкторы
| Конструктор | Описание |
|---|---|
UID() | Генерирует |
UID(short num) | Создаёт «известный» |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean | equals(Object obj) | Сравнивает указанный объект с этим |
int | hashCode() | Возвращает хэш-код для этого |
static UID | read(DataInput in) | Конструирует и возвращает новый экземпляр |
String | toString() | Возвращает строковое представление этого |
void | write(DataOutput out) | Сериализует двоичное представление этого |
Методы, объявленные в классе java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitКонструкторы
UID
public UID()
Генерирует UID, уникальный во времени относительно хоста, на котором он был сгенерирован.
UID
public UID(short num)
Создаёт «известный» UID . Существует 216 возможных таких известных идентификаторов.
Экземпляр UID , созданный с помощью этого конструктора, не будет конфликтовать ни с одним UID , сгенерированным с помощью конструктора без аргументов.
- Параметры:
-
num- число для известногоUID
Методы
hashCode
public int hashCode()
Возвращает хэш-код для этого UID.
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- значение хэш-кода для этого
UID - См. также:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
equals
public boolean equals(Object obj)
Сравнивает указанный объект с этим UID на равенство. Этот метод возвращает true тогда и только тогда, когда указанный объект является экземпляром UID с теми же значениями unique, time, и count, что и этот.
- Переопределяет:
-
equalsв классеObject - Параметры:
-
obj- объект для сравнения с этимUID - Возвращает:
-
trueесли заданный объект эквивалентен этому, иfalseв противном случае - См. также:
-
Object.hashCode(),HashMap
toString
public String toString()
Возвращает строковое представление этого UID.
write
public void write(DataOutput out)
throws IOExceptionСериализует двоичное представление этого UID в экземпляр DataOutput.
Конкретно, этот метод сначала вызывает метод DataOutput.writeInt(int) данного потока с значением UID этого unique, затем вызывает метод DataOutput.writeLong(long) потока со значением UID этого time, а затем вызывает метод DataOutput.writeShort(int) потока со значением UID этого count.
- Параметры:
-
out- экземплярDataOutput, в который необходимо записать этотUID - Исключения:
-
IOException- если при выполнении этой операции происходит ошибка ввода-вывода
read
public static UID read(DataInput in)
throws IOExceptionКонструирует и возвращает новый экземпляр UID, распаковывая двоичное представление из экземпляра DataInput.
Конкретно, этот метод сначала вызывает метод DataInput.readInt() данного потока для чтения значения unique, затем вызывает метод DataInput.readLong() потока для чтения значения time, затем вызывает метод DataInput.readShort() потока для чтения значения count, и затем создаёт и возвращает новый экземпляр UID , содержащий значения unique, time, и count, которые были прочитаны из потока.
- Параметры:
-
in- экземплярDataInput, из которого необходимо прочитатьUID - Возвращает:
- распакованный экземпляр
UID - Исключения:
-
IOException- если при выполнении этой операции происходит ошибка ввода-вывода
© 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/UID.html