亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rmi規范說明5.txt

?? 關于使用JAVA語言編寫RMI的各種規范的說明資料。
?? TXT
?? 第 1 頁 / 共 3 頁
字號:
RMI規范--第五章 

服務器接口 
java.rmi.server 包包含通常用于實現遠程對象的接口與類。 

主題: 
RemoteObject 類 
RemoteServer 類 
UnicastRemoteObject 類 
Unreferenced 接口 
RMISecurityManager 類 
RMIClassLoader 類 
LoaderHandler 接口 
RMI 套接字工廠 
RMIFailureHandler 接口 
LogStream 類 
stub 和 skeleton 編譯器 

5.1 RemoteObject 類 
類 java.rmi.server.RemoteObject 將 java.lang.Object 行為實現于遠程 
對象。實現方法 hashCode 和 equals 將允許將遠程對象引用存儲在散列表中 
進行比較。如果兩個 Remote 對象引用同一個遠程對象,則方法 equals 的返 
回值為 true。它負責比較遠程對象的遠程對象引用。 

方法 toString 返回一個說明遠程對象的字符串。該字符串的內容和語法與實 
現有關且可變。 

java.lang.Object 中的其它方法保留了它們的原始實現。 

package java.rmi.server; 
public abstract class RemoteObject 
implements java.rmi.Remote, java.io.Serializable 
{ 
protected transient RemoteRef ref; 
protected RemoteObject(); 
protected RemoteObject(RemoteRef ref); 
public RemoteRef getRef(); 
public static Remote toStub(java.rmi.Remote obj) 
throws java.rmi.NoSuchObjectException; 
public int hashCode(); 
public boolean equals(Object obj); 
public String toString(); 
} 

因為 RemoteObject 是抽象類,所以無法實例化。因此,RemoteObject 的構 
造函數必須從子類實現中調用。第一個 RemoteObject 構造函數將創建帶空的 
遠程引用的 RemoteObject。第二個 RemoteObject 構造函數將創建帶給定遠 
程引用 ref 的 RemoteObject。 

方法 getRef 返回該遠程對象的遠程引用。 

方法 toStub 返回一個遠程對象 obj 的 stub 并作為參數傳送。該操作僅在 
已經導出遠程對象實現后才有效。如果找不到遠程對象的 stub,該方法就拋出 
NoSuchObjectException。 

5.1.1 RemoteObject 類覆蓋的對象方法 
java.lang.Object 類中用于方法 equals、hashCode 和 toString 的缺省實 
現不適用于遠程對象。因此,RemoteObject 類提供了這些方法在語義上更合適 
于遠程對象的實現。 

equals 和 hashCode 方法 
為將遠程對象用作散列表中的主鍵,我們必須在遠程對象實現中覆蓋 equals 和 
hashCode 方法,這些方法是由類 java.rmi.server.RemoteObject 覆蓋的: 

java.rmi.server.RemoteObject 類實現 equals 方法決定了兩個對象的引用 
是否相等,而不是兩個對象的內容是否相等。這是因為決定內容是否相等時需要 

遠程方法調用,而 equals 的簽名不允許拋出遠程異常。 
對于所有引用同一底層遠程對象的遠程引用,java.rmi.server.RemoteObject 
類實現的 hashCode 方法返回同一個值(因為對相同對象的引用被認為是相等 

的)。 

toString 方法 
toString 方法被定義為返回表示對象的遠程引用的字符串。字符串的內容視引 
用的類型而定。單體(單路傳送)對象的當前實現一個對象標識符以及與傳輸層 
有關的該對象的其他信息(例如主機名和端口號)。 

clone 方法 
只有在對象支持 java.lang.Cloneable 接口時才能用 Java 語言的缺省機制 
來復制。由 rmic 編譯器生成的遠程對象的 stub 將被聲明為終態,且不實現 
Cloneable 接口,因此無法復制 stub。 

5.1.2 序列化形式 
RemoteObject 類實現專門的(私用)方法 writeObject 和方法 readObject, 
它們由對象序列化機制調用來處理向 java.io.ObjectOutputStream 中序列化 
數據。RemoteObject 的序列化形式由下列方法寫入: 
private void writeObject(java.io.ObjectOutputStream out) 
throws java.io.IOException, java.lang.ClassNotFoundException; 
如果 RemoteObject 的遠程引用域 ref 為空,則該方法拋出 
java.rmi.MarshalException。 
如果遠程引用 ref 為非空: 
ref 的類通過調用其 getRefClass 方法來獲得,該方法通常返回遠程引用類的 
非打包全名。如果返回的類名為非空: 
ref 的類名將以 UTF 格式寫到流 out 中。 

調用 ref 的方法 writeExternal,傳遞的參數為流 out,從而使 ref 可以將 
其外部表示法寫到流中。 

如果 ref.getRefClass 返回的類名為空: 
則將一個 UTF 格式的空字符串寫到流 out 中。 

ref 被序列化到流 out(即利用 writeObject)。 
序列化恢復時,RemoteObject 的狀態將由 ObjectInputStream 調用該方法利 
用其序列化形式進行重構: 

private void readObject(java.io.ObjectInputStream in) 
throws java.io.IOException, java.lang.ClassNotFoundException; 

首先,ref 的類名(UTF 字符串)將從流 in 中讀出。如果類名為空字符串: 
則從流中讀出對象,然后將 ref 初始化為該對象(即通過調用 in.readObject) 
如果類名為非空: 
則 ref 的完整類名由字符串 java.rmi.server.RemoteRef.packagePrefix 的 
值和“.”加上從流中讀取的類名相連接而成。 
創建 ref 類的實例(利用上述完整類名)。 
該新實例(成為 ref 域)從流 in 中讀取其外部形式。 

2 RemoteServer 類 
java.rmi.server.RemoteServer 類是服務器實現類 
java.rmi.server.UnicastRemoteObject 
和 java.rmi.activation.Activatable 的通用超類。 

package java.rmi.server; 
public abstract class RemoteServer extends RemoteObject 
{ 

protected RemoteServer(); 
protected RemoteServer(RemoteRef ref); 

public static String getClientHost() 
throws ServerNotActiveException; 
public static void setLog(java.io.OutputStream out); 
public static java.io.PrintStream getLog(); 
} 


因為 RemoteServer 是抽象類,所以將無法實例化。因此,必須從子類實現中 
調用某一 RemoteServer 的構造函數。第一個 RemoteServer 構造函數將創建 
帶空遠程引用的 RemoteServer。第二個 RemoteServer 構造函數將創建帶給 
定遠程引用 ref 的 RemoteServer。 

getClientHost 方法允許一個活動方法確定當前線程中活動的遠程方法是由哪 
臺主機初始化的。如果當前線程中沒有活動的遠程方法,則拋出異常 ServerNot 
ActiveException。 
setLog 方法將 RMI 調用記錄到指定輸出流中。如果輸出流為空,則關閉調用 
日志。getLog 方法返回 RMI 調用日志流,從而使特定于應用程序的信息以同 
步方式寫到調用日志中。 

5.3 UnicastRemoteObject 類 
類 java.rmi.server.UnicastRemoteObject 支持創建并導出遠程對象。該類 
實現的遠程服務器對象具有下列特征: 

對這種對象的引用至多僅在創建該遠程對象的進程生命期內有效。 
通過 TCP 傳輸與遠程對象通信。 
調用、參數和結果使用流協議在客戶機和服務器之間進行通信。 
package java.rmi.server; 
public class UnicastRemoteObject extends RemoteServer 
{ 

protected UnicastRemoteObject() 
throws java.rmi.RemoteException; 
protected UnicastRemoteObject(int port) 
throws java.rmi.RemoteException; 
protected UnicastRemoteObject(int port, 
RMIClientSocketFactory csf, 
RMIServerSocketFactory ssf) 
throws java.rmi.RemoteException; 
public Object clone() 
throws java.lang.CloneNotSupportedException; 
public static RemoteStub exportObject(java.rmi.Remote obj) 
throws java.rmi.RemoteException; 
public static Remote exportObject(java.rmi.Remote obj, int port) 
throws java.rmi.RemoteException; 
public static Remote exportObject(Remote obj, int port, 
RMIClientSocketFactory csf, 
RMIServerSocketFactory ssf) 
throws java.rmi.RemoteException; 
public static boolean unexportObject(java.rmi.Remote obj, boolean force) 
throws java.rmi.NoSuchObjectException; 
} 

  
5.3.1 構造新遠程對象 
遠程對象實現(實現一個或多個遠程接口的實現)必須被創建和導出。導出遠程 
對象使得對象能接受來自客戶機的到來的調用。作為 UnicastRemoteObject 
導出的遠程對象,其導出涉及在 TCP 端口監聽(注意,多個遠程對象可以接受 
同一端口的到來的調用,因此沒必要在新的端口上監聽)。遠程對象實現可以擴 
展類 UnicastRemoteObject 以使用其導出對象的構造函數,或者擴展其它類 
(或者根本不擴展)并通過 UnicastRemoteObject 的 exportObject 方法導 
出對象。 

無參數的構造函數將創建遠程對象并在匿名(或任意)端口上導出,而這將在運 
行時進行選擇。第二種形式的構造函數帶單個參數(即 port),它指定遠程對 
象接受到來的調用的端口號。第三種構造函數創建的遠程對象在指定端口上通過 
RMIServerSocketFactory 創建的 ServerSocket 接受到來的調用;客戶機 
通過由 RMIClientSocketFactory 提供的 Socket 與遠程對象建立連接。 

5.3.2 導出并非由 RemoteObject 擴展而來的實現 
exportObject 方法(任何形式)可用于導出不是由擴展 UnicastRemoteObject 
類實現的簡單對等遠程對象。第一種形式的 exportObject 方法帶單個參數 
(即 obj),它是接受到來的 RMI 調用的遠程對象;該 exportObject 方法 
在匿名(或任意)端口上導出遠程對象,而這將在運行時進行選擇。第二種形式 
的 exportObject 方法帶兩個參數,分別是遠程對象 obj 和 port。port 是 
遠程對象接受到來的調用的端口號。第三種 exportObject 方法用指定的 
RMIClientSocketFactory、csf 和 RMIServerSocketFactory、ssf 在指定 
port 上導出對象 obj。 
在作為參數或返回值傳入 RMI 調用前,必須導出對象,否則當試圖把“未導出 
的”對象作為參數或返回值傳遞給一個遠程調用時,將會拋出 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩午夜在线观看视频| 亚洲国产视频在线| 亚洲激情在线激情| 韩国理伦片一区二区三区在线播放| 成人app在线观看| 正在播放一区二区| 亚洲三级免费电影| 国产精品123| 日韩一区二区电影网| 亚洲精品视频免费看| 国产电影一区在线| 欧美草草影院在线视频| 亚洲国产成人av好男人在线观看| 丁香网亚洲国际| 日韩欧美国产1| 天天综合日日夜夜精品| 日本久久电影网| 日韩一区日韩二区| 99久久伊人精品| 欧美激情一区二区三区在线| 日韩欧美亚洲国产精品字幕久久久 | 国产精品中文字幕日韩精品| 国产精品一区二区x88av| 欧美在线观看禁18| 亚洲色图一区二区| 91麻豆精东视频| 中文字幕乱码一区二区免费| 成熟亚洲日本毛茸茸凸凹| 2021久久国产精品不只是精品| 亚洲不卡av一区二区三区| 欧日韩精品视频| 亚洲专区一二三| 欧美性大战久久| 亚洲国产一区二区视频| 精品视频在线免费看| 夜夜操天天操亚洲| 欧美日韩国产一级| 日韩av中文字幕一区二区三区| 欧美日韩国产影片| 日韩高清不卡一区二区三区| 欧美日韩亚洲不卡| 美脚の诱脚舐め脚责91 | 成人激情动漫在线观看| 国产精品久久网站| www.久久久久久久久| 亚洲欧美另类久久久精品2019| 色国产精品一区在线观看| 亚洲一区自拍偷拍| 欧美一区二区三区日韩| 狠狠色丁香婷婷综合久久片| 中文字幕欧美日韩一区| 在线视频你懂得一区二区三区| 亚洲成人av资源| 精品剧情在线观看| 成人av电影在线播放| 亚洲成人av一区| 久久美女艺术照精彩视频福利播放| 粉嫩av一区二区三区在线播放| 综合色中文字幕| 欧美一级高清大全免费观看| 国产自产视频一区二区三区| 亚洲欧洲日产国码二区| 777精品伊人久久久久大香线蕉| 美女视频黄久久| 国产精品女人毛片| 欧美日韩一区二区欧美激情| 国产在线视视频有精品| 亚洲蜜桃精久久久久久久| 日韩女同互慰一区二区| 99re这里只有精品6| 日本亚洲天堂网| 综合久久综合久久| 精品美女在线播放| 欧美三级在线视频| 欧美日韩亚洲另类| 成人在线视频一区二区| 亚洲国产综合色| 国产精品三级在线观看| 欧美一级日韩免费不卡| 91香蕉视频黄| 国产精品一区二区三区99| 亚洲va韩国va欧美va精品| 国产日韩视频一区二区三区| 91精品国产一区二区| 99国产精品一区| 国产精品伊人色| 久久精品国产亚洲高清剧情介绍| 亚洲日本在线观看| 欧美国产视频在线| 337p日本欧洲亚洲大胆精品| 69堂亚洲精品首页| 欧美在线视频全部完| 成人白浆超碰人人人人| 国内精品伊人久久久久av一坑| 亚洲大片在线观看| 亚洲三级在线免费| 国产精品久久久久久久久果冻传媒| 91精品国产综合久久福利软件| 91麻豆福利精品推荐| 国产91丝袜在线播放九色| 九九在线精品视频| 日韩 欧美一区二区三区| 亚洲午夜电影在线观看| 夜夜操天天操亚洲| 亚洲另类在线一区| 亚洲精品亚洲人成人网在线播放| 欧美韩国日本综合| 国产午夜精品理论片a级大结局| 欧美大片日本大片免费观看| 538prom精品视频线放| 欧美日韩不卡在线| 欧美精品视频www在线观看| 欧美亚洲国产bt| 欧美日韩国产色站一区二区三区| 在线一区二区三区做爰视频网站| www.亚洲精品| 99久久精品免费看国产免费软件| 成人性色生活片| 色婷婷久久综合| 欧美在线免费观看亚洲| 欧美日韩精品欧美日韩精品一综合| 欧美午夜视频网站| 欧美一区二区精品久久911| 欧美一区二区视频在线观看2022| 91精品国产综合久久久久久| 欧美一区二区福利在线| 精品国产91久久久久久久妲己| 久久综合九色综合97婷婷女人| 欧美大尺度电影在线| 久久色在线视频| 中文字幕一区二区三区四区不卡| 1000部国产精品成人观看| 亚洲成人黄色影院| 精品在线免费视频| 波多野结衣中文字幕一区| 色婷婷激情一区二区三区| 欧美高清视频一二三区| 久久奇米777| 中文字幕巨乱亚洲| 天天射综合影视| 国产suv一区二区三区88区| 91麻豆国产自产在线观看| 在线成人av网站| 国产婷婷色一区二区三区四区| 成人欧美一区二区三区视频网页| 丝袜诱惑制服诱惑色一区在线观看 | 九一久久久久久| 成人国产精品免费| 欧美日韩精品欧美日韩精品| 欧美不卡123| 亚洲欧美偷拍三级| 加勒比av一区二区| 色悠悠久久综合| 精品久久国产字幕高潮| 亚洲天天做日日做天天谢日日欢| 日日夜夜精品视频免费| 国产91丝袜在线18| 日韩三级免费观看| 亚洲精品国久久99热| 乱一区二区av| 欧美日韩在线免费视频| 中文字幕精品一区二区精品绿巨人| 亚洲五月六月丁香激情| 成人小视频免费在线观看| 91精品国产入口在线| 亚洲人成网站色在线观看| 九九国产精品视频| 欧美日韩小视频| 国产精品久久久久久亚洲毛片| 久久精品国产精品亚洲红杏 | 亚洲日本va在线观看| 韩国理伦片一区二区三区在线播放 | 成人午夜免费视频| 欧美一激情一区二区三区| 亚洲精品久久久久久国产精华液| 国产成人av一区二区三区在线 | 99精品欧美一区二区蜜桃免费| 欧美电视剧在线观看完整版| 亚洲超碰精品一区二区| 日本久久电影网| 亚洲婷婷在线视频| 不卡一区中文字幕| 国产三级久久久| 国产成人免费视| 久久久天堂av| 国产一区视频导航| 欧美大片免费久久精品三p| 男女激情视频一区| 欧美一区二区三区喷汁尤物| 亚洲成av人综合在线观看| 91久久香蕉国产日韩欧美9色| 中文字幕第一区综合| 国产精品一区二区三区99| 26uuu国产日韩综合| 精品午夜久久福利影院| 日韩欧美成人激情| 国产一区二区三区免费| 26uuu精品一区二区| 国产精品资源在线看| 国产欧美在线观看一区|