Spec-Zone.ru › OpenJDK 27

Класс 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, уникальный во времени относительно хоста, на котором он был сгенерирован.
UID(short num)
Создает «общеизвестный» UID.

Краткое описание методов

Модификатор и тип Метод Описание
boolean equals(Object obj)
Сравнивает указанный объект с этим UID на равенство.
int hashCode()
Возвращает значение хеш-кода для этого UID.
static UID read(DataInput in)
Создает и возвращает новый экземпляр UID, десериализуя двоичное представление из экземпляра DataInput.
String toString()
Возвращает строковое представление этого UID.
void write(DataOutput out)
Сериализует двоичное представление этого UID в экземпляр DataOutput.

Методы, объявленные в классе Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удален в будущей версии.
Финализация устарела и может быть удалена в одном из следующих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно посредством вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

Подробное описание конструкторов

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(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.
Переопределяет:
toString в классе Object
Возвращает:
строковое представление этого UID

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 — если при выполнении этой операции произошла ошибка ввода-вывода

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API