java.lang.Object java.rmi.server.UID
public final class UID
UID
表示一个和生成它的主机的时间有关的唯一标识符,或者是 216 个“熟知”标识符之一。
UID()
构造方法可以用来生成一个和生成此标识符的主机的时间有关的唯一标识符。UID(short)
构造方法可以用来创建 216 个熟知标识符之一。
UID
实例包含以下三个基本值:
unique
,它是一个 int
值,唯一标识在其中生成此 UID
的 VM,并和主机和由 time
值表示的时间有关,(unique
值的示例实现是一个进程标识符),对于熟知 UID
此值为 0。 time
,它是一个 long
值,其等于此 UID
在其中生成的 VM 处于活动状态时的时间(由 System.currentTimeMillis()
返回),对于熟知 UID
为 0。 count
,它是一个 short
值,以区分用同一 time
值在同一个 VM 中生成的 UID
。 单独生成的 UID
实例具有唯一性并和生成它的主机的时间有关,条件是主机启动所需时间超过一毫秒,并且系统时钟从不向后调。可以通过将唯一主机标识符(如 IP 地址)和 UID
实例配对来构造全局唯一标识符。
构造方法摘要 | |
---|---|
UID() 生成一个 UID ,它和生成它的主机的时间有关且具有唯一性。 |
|
UID(short num) 创建一个“熟知” UID 。 |
方法摘要 | |
---|---|
boolean |
equals(Object obj) 比较给定对象与此 UID 的相等性。 |
int |
hashCode() 返回此 UID 的哈希码值。 |
static UID |
read(DataInput in) 通过从 DataInput 实例解组二进制表示形式构造并返回一个新的 UID 。 |
String |
toString() 返回此 UID 的字符串表示形式。 |
void |
write(DataOutput out) 将此 UID 的二进制表示形式编组为一个 DataOutput 实例。 |
从类 java.lang.Object 继承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
构造方法详细信息 |
---|
public UID()
UID
,它和生成它的主机的时间有关且具有唯一性。
public UID(short num)
UID
。 可能有 2
16 个这样的熟知 ID。
通过此构造方法创建的 UID
将不与通过无参数构造方法生成的所有 UID
冲突。
num
- 表示熟知
UID
的数字
方法详细信息 |
---|
public int hashCode()
UID
的哈希码值。
UID
的哈希码值
Object.equals(java.lang.Object)
,
Hashtable
public boolean equals(Object obj)
UID
的相等性。 当且仅当指定对象为具有与此对象相同的
unique
、
time
和
count
值的
UID
实例时,此方法返回
true
。
obj
- 要与此
UID
比较的对象
true
;否则返回
false
Object.hashCode()
,
Hashtable
public String toString()
public void write(DataOutput out) throws IOException
UID
的二进制表示形式编组为一个
DataOutput
实例。
需要特别说明的是,此方法首先要用此 UID
的 unique
值调用给定流的 DataOutput.writeInt(int)
方法,然后用 UID
的 time
值调用该流的 DataOutput.writeLong(long)
方法,接着用此 UID
的 count
值调用该流的 DataOutput.writeShort(int)
方法。
out
- 要将此
UID
写入其中的
DataOutput
实例
IOException
- 如果在执行此操作时发生 I/O 错误
public static UID read(DataInput in) throws IOException
DataInput
实例解组二进制表示形式构造并返回一个新的
UID
。
需要特别说明的是,此方法首先要调用给定流的 DataInput.readInt()
方法来读取 unique
值,然后调用该流的 DataInput.readLong()
方法来读取 time
值,接着调用该流的 DataInput.readShort()
方法来读取 count
值,接下来创建并返回一个包含从该流中读取的 unique
、time
和 count
值的 UID
实例。
in
- 要从中读取
UID
的
DataInput
实例
UID
实例
IOException
- 如果在执行此操作时发生 I/O 错误