Класс 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, уникальный во времени относительно хоста, на котором он был создан. |
UID |
Создаёт «общеизвестный» UID. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals |
Сравнивает указанный объект с этим UID на равенство. |
int |
hashCode() |
Возвращает значение хеш-кода для этого UID. |
static UID |
read |
Создаёт и возвращает новый экземпляр UID, десериализуя двоичное представление из экземпляра DataInput. |
String |
toString() |
Возвращает строковое представление этого UID. |
void |
write |
Сериализует двоичное представление этого UID в экземпляр DataOutput. |
Подробное описание конструкторов
UID
public UID()
UID, уникальный во времени относительно хоста, на котором он был создан.UID
public UID(short num)
UID. Существует 216 возможных общеизвестных идентификаторов. UID, созданный с помощью этого конструктора, не будет конфликтовать ни с одним UID, созданным с помощью конструктора без аргументов.
- Параметры:
-
num— номер общеизвестногоUID
Подробное описание методов
hashCode
equals
public boolean equals(Object obj)
UID на равенство. Этот метод возвращает true тогда и только тогда, когда указанный объект является экземпляром UID с такими же значениями unique, time и count, как у этого объекта.toString
write
public void write(DataOutput out) throws IOException
UID в экземпляр DataOutput. В частности, этот метод сначала вызывает метод DataOutput.writeInt(int) указанного потока со значением unique этого UID, затем вызывает метод DataOutput.writeLong(long) потока со значением time этого UID, а затем вызывает метод DataOutput.writeShort(int) потока со значением count этого UID.
- Параметры:
-
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, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/UID.html