Класс UID
- Все реализуемые интерфейсы:
Serializable
public final class UID extends Object implements Serializable
UID представляет идентификатор, уникальный во времени относительно хоста, на котором он сгенерирован, или один из 216 "известных" идентификаторов. Конструктор UID() может использоваться для генерации идентификатора, уникального во времени относительно хоста, на котором он сгенерирован. Конструктор UID(short) может использоваться для создания одного из 216 известных идентификаторов.
Экземпляр класса UID содержит три примитивных значения:
-
unique, целое число, которое уникально идентифицирует виртуальную машину (ВМ), в которой был сгенерирован этотUID, относительно её хоста и времени, представленного значениемtime(пример реализации значенияunique- идентификатор процесса), или ноль для известногоUID -
time, значение типа long, равное времени (полученное изSystem.currentTimeMillis()), когда ВМ, в которой был сгенерирован этотUID, была активна, или ноль для известногоUID -
count, короткое целое число, для различенияUID, сгенерированных в одной и той же ВМ с одинаковым значениемtime
Самостоятельно сгенерированный экземпляр UID уникален во времени относительно хоста, на котором он сгенерирован, при условии, что перезапуск хоста занимает более одной миллисекунды, а системные часы никогда не устанавливаются назад. Глобально уникальный идентификатор может быть построен путём объединения экземпляра класса UID с уникальным идентификатором хоста, например, IP-адресом.
- Since:
- 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 возможных таких известных id. 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) заданного потока с значением 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, 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://download.java.net/java/early_access/jdk24/docs/api/java.rmi/java/rmi/server/UID.html