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
-
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错误
-