java.lang.Object
java.rmi.server.UID
- 所有已实现的接口:
-
Serializable
一个
UID表示一个标识符,相对于生成它的主机而言,它随时间唯一,或者是216个“众所周知”的标识符之一。
UID()构造函数可用于生成一个标识符,相对于生成它的主机而言,它随时间唯一。 UID(short)构造函数可用于创建216个众所周知的标识符之一。
UID实例包含三个原始值:
unique,一个唯一标识生成此UID的VM的int,相对于其主机和由time值表示的时间(unique值的一个示例实现可能是进程标识符),或者对于众所周知的UID为零time,一个等于生成此UID的VM存活时的时间(由System.currentTimeMillis()返回)的long,或者对于众所周知的UID为零count,一个short,用于区分在相同VM中生成具有相同time值的UID
一个独立生成的UID实例随时间唯一,相对于生成它的主机,只要主机需要超过一毫秒来重新启动,并且其系统时钟从不向后设置。可以通过将UID实例与唯一主机标识符(例如IP地址)配对来构造全局唯一标识符。
- 自 JDK 版本:
- 1.1
- 参见:
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
UID
public UID()生成一个相对于生成它的主机而言随时间唯一的UID。 -
UID
public UID(short num) 创建一个“众所周知”的UID。有216个可能的这种众所周知的标识符。通过此构造函数创建的
UID不会与通过无参构造函数生成的任何UID发生冲突。- 参数:
-
num- 用于众所周知的UID的数字
-
-
Method Details
-
hashCode
public int hashCode()返回此UID的哈希码值。 -
equals
将指定的对象与此UID进行比较以检查是否相等。仅当指定的对象是具有与此对象相同的unique、time和count值的UID实例时,此方法才返回true。 -
toString
返回此UID的字符串表示形式。 -
write
将此UID的二进制表示组合到DataOutput实例中。具体来说,此方法首先使用此
UID的unique值调用给定流的DataOutput.writeInt(int)方法,然后使用流的DataOutput.writeLong(long)方法使用此UID的time值,最后使用流的DataOutput.writeShort(int)方法使用此UID的count值。- 参数:
-
out- 要将此UID写入的DataOutput实例 - 抛出:
-
IOException- 如果执行此操作时发生I/O错误
-
read
通过从DataInput实例中解组二进制表示,构造并返回一个新的UID实例。具体来说,此方法首先调用给定流的
DataInput.readInt()方法读取一个unique值,然后调用流的DataInput.readLong()方法读取一个time值,然后调用流的DataInput.readShort()方法读取一个count值,然后创建并返回一个新的UID实例,其中包含从流中读取的unique、time和count值。- 参数:
-
in- 要从中读取UID的DataInput实例 - 返回:
-
解组的
UID实例 - 抛出:
-
IOException- 如果执行此操作时发生I/O错误
-