- java.lang.Object
-
- java.rmi.server.UID
-
- 实现的所有接口
-
Serializable
public final class UID extends Object implements Serializable
UID表示相对于其生成的主机而言随时间唯一的标识符,或者是2 个 “众所周知的”标识符之一。UID()构造函数可用于生成一个标识符,该标识符相对于生成它的主机而言是唯一的。UID(short)构造函数可用于创建2 个16个众所周知的标识符之一。UID实例包含三个原始值:-
unique,一个int唯一标识VM这UID产生在相对于它的主体和由表示的时间time值(的示例实现unique值将是一个进程标识符)用于阱,或零UID -
time,一个long等于一个时间(由System.currentTimeMillis()返回),此UID生成的VM处于活动状态,或者知名的UID -
count,一个short区分UID在同一VM生成s的相同time值
独立生成的
UID实例就其生成的主机而言是唯一的,只要主机需要超过一毫秒才能重新启动且其系统时钟永远不会向后设置。 可以通过将UID实例与唯一主机标识符(例如IP地址)配对来构建全局唯一标识符。- 从以下版本开始:
- 1.1
- 另请参见:
- Serialized Form
-
-
方法详细信息
-
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
-
write
public void write(DataOutput out) throws IOException
将此UID的二进制表示形式UID为DataOutput实例。具体地,此方法首先调用给定流的
DataOutput.writeInt(int)方法与此UID的unique值,则调用流的DataOutput.writeLong(long)方法与此UID的time值,然后它调用流的DataOutput.writeShort(int)方法与此UID的count值。- 参数
-
out-将DataOutput实例写这篇UID到 - 异常
-
IOException- 如果执行此操作时发生I / O错误
-
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 - 结果
-
unmarshalled
UID实例 - 异常
-
IOException- 如果执行此操作时发生I / O错误
-
-