JavaTM 2 Platform
Standard Ed. 6

java.rmi.server
類別 ObjID

java.lang.Object
  繼承者 java.rmi.server.ObjID
所有已實作的介面:
Serializable

public final class ObjID
extends Object
implements Serializable

ObjID 是用於標識導出到 RMI 運行時的遠端物件。導出遠端物件時,將根據用於導出的 API,或隱式或顯示地向該物件分派一個物件標識符。

ObjID() 建構子可用於產生唯一的物件標識符。這樣一個 ObjID 對於產生它的主機時間來說是唯一的。ObjID(int) 建構子可用於創建“已知的”物件標識符。已知 ObjID 的範圍取決於將它導出到其中的 RMI 運行時。

ObjID 實例包含一個物件數(屬於型別 long)和一個位址空間標識符(屬於型別 UID)。在唯一的 ObjID 中,位址空間標識符對於給定主機來說是不隨時間變化的。在已知的 ObjID 中,位址空間標識符等效於通過調用具有值 0 的 UID.UID(short) 建構子返回的標識符。

如果將系統屬性 java.rmi.server.randomIDs 定義為等於字元串 "true"(不分大小寫),則 ObjID() 建構子將使用加密的強偽隨機數(亂數)產生器來選擇返回的 ObjID 的物件數。

從以下版本開始:
JDK1.1
另請參見:
序列化表格

欄位摘要
static int ACTIVATOR_ID
          啟動程序的已知 ObjID 的物件數。
static int DGC_ID
          分佈式垃圾回收器的已知 ObjID 的物件數。
static int REGISTRY_ID
          註冊表的已知 ObjID 的物件數。
 
建構子摘要
ObjID()
          產生唯一的物件標識符。
ObjID(int objNum)
          創建“已知的”物件標識符。
 
方法摘要
 boolean equals(Object obj)
          比較指定對象與此 ObjID 是否相等。
 int hashCode()
          返回此物件標識符、物件數的雜湊碼值。
static ObjID read(ObjectInput in)
          通過從 ObjectInput 實例解組二進製表示形式來建構和返回一個新的 ObjID 實例。
 String toString()
          返回此物件標識符的字元串表示形式。
 void write(ObjectOutput out)
          將此 ObjID 的二進製表示形式編組為一個 ObjectOutput 實例。
 
從類別 java.lang.Object 繼承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

欄位詳細資訊

REGISTRY_ID

public static final int REGISTRY_ID
註冊表的已知 ObjID 的物件數。

另請參見:
常數欄位值

ACTIVATOR_ID

public static final int ACTIVATOR_ID
啟動程序的已知 ObjID 的物件數。

另請參見:
常數欄位值

DGC_ID

public static final int DGC_ID
分佈式垃圾回收器的已知 ObjID 的物件數。

另請參見:
常數欄位值
建構子詳細資訊

ObjID

public ObjID()
產生唯一的物件標識符。

如果將系統屬性 java.rmi.server.randomIDs 定義為等於字元串 "true"(不分大小寫),則此建構子將使用加密的強偽隨機數(亂數)產生器來選擇返回的 ObjID 的物件數。


ObjID

public ObjID(int objNum)
創建“已知的”物件標識符。

通過此建構子創建的 ObjID 將不與通過無參數建構子產生的 ObjID 衝突。

參數:
objNum - 已知物件標識符的物件數
方法詳細資訊

write

public void write(ObjectOutput out)
           throws IOException
將此 ObjID 的二進製表示形式編組為一個 ObjectOutput 實例。

需要特別說明的是,此方法首先根據此物件標識符的物件數調用給定串流的 DataOutput.writeLong(long) 方法,然後根據該串流調用 UID.write(DataOutput) 方法寫入其位址空間標識符。

參數:
out - 要將此 ObjID 寫入其中的 ObjectOutput 實例
拋出:
IOException - 如果在執行此操作時發生 I/O 錯誤

read

public static ObjID read(ObjectInput in)
                  throws IOException
通過從 ObjectInput 實例解組二進製表示形式來建構和返回一個新的 ObjID 實例。

特別是,此方法首先調用給定串流的 DataInput.readLong() 方法來讀取一個物件數,然後根據此串流調用 UID.read(DataInput) 來讀取位址空間標識符,接著創建並返回一個新的 ObjID 實例,該實例包含從該串流讀取的物件數和位址空間標識符。

參數:
in - 要從中讀取 ObjIDObjectInput 實例
返回:
已解組的 ObjID 實例
拋出:
IOException - 如果在執行此操作時發生 I/O 錯誤

hashCode

public int hashCode()
返回此物件標識符、物件數的雜湊碼值。

覆寫:
類別 Object 中的 hashCode
返回:
此物件標識符的雜湊碼值
另請參見:
Object.equals(java.lang.Object), Hashtable

equals

public boolean equals(Object obj)
比較指定對象與此 ObjID 是否相等。 當且僅當該指定物件是一個與該物件具有相同物件數和位址空間標識符的 ObjID 時,此方法返回 true

覆寫:
類別 Object 中的 equals
參數:
obj - 要與此 ObjID 比較的物件
返回:
如果給定對象與此物件等效,則返回 true;否則返回 false
另請參見:
Object.hashCode(), Hashtable

toString

public String toString()
返回此物件標識符的字元串表示形式。

覆寫:
類別 Object 中的 toString
返回:
此物件標識符的字元串表示形式

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only