public final class UID extends Object implements Serializable
UID表示相对于其在其上生成的主机或者16个 “知名”标识符之一的时间而言是唯一的标识符。
UID()构造函数可用于生成相对于其生成的主机而言随时间而言是唯一的标识符。 UID(short)构造函数可用于创建2 16个已知标识符之一。
UID实例包含三个基元值:
unique ,一个int唯一标识VM这UID产生在相对于它的主体和由表示的时间time值(一示例实现中的的unique值将是一个进程标识符)用于阱,或零已知UID time ,一个long等于一个时间(如通过返回System.currentTimeMillis()在该VM,这一) UID在一个公知的产生在世时,或零UID count ,一个short区分UID在同一个VM中产生的time值相同 独立生成的UID实例对于主机而言随着时间的推移是独一无二的,只要主机需要超过一毫秒的重新启动并且其系统时钟从不被设置为反向。 可以通过将UID实例与唯一主机标识符(例如IP地址)配对来构建全局唯一标识符。
| Constructor and Description |
|---|
UID()
生成一个
UID ,它相对于生成的主机而言是独一无二的。
|
UID(short num)
创建“知名”
UID 。
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object obj)
将指定的对象与此
UID进行比较以获得相等性。
|
int |
hashCode()
返回此
UID的哈希码值。
|
static UID |
read(DataInput in)
构造并返回一个新的
UID实例,通过从
DataInput实例解组二进制表示。
|
String |
toString()
返回此
UID的字符串表示
UID 。
|
void |
write(DataOutput out)
将此
UID的二进制表示法
UID交给
DataOutput实例。
|
public UID()
UID ,它相对于生成的主机而言是独一无二的。
public UID(short num)
UID 。
有2116 个这样的知名ids。
通过此构造UID创建的UID不会与通过no-arg构造函数生成的任何UID冲突。
num - 知名
UID
public int hashCode()
UID的哈希码值。
hashCode在类
Object
UID
Object.equals(java.lang.Object) ,
System.identityHashCode(java.lang.Object)
public boolean equals(Object obj)
UID进行比较以获得相等性。
此方法返回true当且仅当指定对象为UID实例具有相同unique , time和count值作为这一个。
equals在
Object
obj - 对比这个
UID的对象
true如果给定的对象相当于这个对象,而
false则为false
Object.hashCode() , HashMap
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错误
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 - 执行此操作时是否发生I / O错误
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.