国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java遠程方法調用(一)

2019-11-18 16:20:19
字體:
來源:轉載
供稿:網友

  出自:java愛好者
概述

  Java Remote Method Invocation ( RMI -- Java遠程方法調用)允許您使用Java編寫分布式對象。本文將介紹RMI的優點以及如何將其連接到現有的和原有的系統中,以及與用Java 編寫的組件的連接。

  RMI為采用Java對象的分布式計算提供了簡單而直接的途徑。這些對象可以是新的Java對象,也可以是圍繞現有API的簡單的Java包裝程序。Java體現了“編寫一次就能在任何地方運行的模式。而RMI可將Java模式進行擴展,使之可在任何地方運行”。

  因為RMI是以Java為核心的,所以,它將Java的安全性和可移植性等強大功能帶給了分布式計算。您可將代理和梢?務邏輯等屬性移動到網絡中最合適的地方。如果您要擴展Java在系統中的使用,RMI將使您充分利用其強大功能。

  RMI可利用標準Java本機方法接口JNI與現有的和原有的系統相連接。RMI還可利用標準JDBC包與現有的關系數據庫連接。RMI/JNI和RMI/JDBC相結合,可幫助您利用RMI與目前使用非Java語言的現有服務器進行通信,而且在您需要時可擴展Java在這些服務器上的使用。RMI可幫助您在擴展使用時充分利用Java的強大功能。

優點

  從最基本的角度看,RMI是Java的遠程過程調用(RPC)機制。與傳統的RPC系統相比,RMI具有若干優點,因為它是Java面向對象方法的一部分。傳統的RPC系統采用中性語言,所以是最普通的系統--它們不能提供所有可能的目標平臺所具有的功能。

  RMI以Java為核心,可與采用本機方法與現有系統相連接。這就是說,RMI可采用自然、直接和功能全面的方式為您提供分布式計算技術,而這種技術可幫助您以不斷遞增和無縫的方式為整個系統添加Java功能。

RMI的主要優點如下:

  面向對象:RMI可將完整的對象作為參數和返回值進行傳遞,而不僅僅是預定義的數據類型。也就是說,您可以將類似Java哈希表這樣的復雜類型作為一個參數進行傳遞。而在目前的RPC系統中,您只能依靠客戶機將此類對象分解成基本數據類型,然后傳遞這些數據類型,最后在服務器端重新創建哈希表。RMI則不需額外的客戶程序代碼(將對象分解成基本數據類型),直接跨網傳遞對象。
  可移動屬性:RMI可將屬性(類實現程序)從客戶機移動到服務器,或者從服務器移到客戶機。例如,您可以定義一個檢查雇員開支報告的接口,以便察看雇員是否遵守了公司目前實行的政策。在開支報告創建后,客戶機就會從服務器端獲得實現該接口的對象。如果政策發生變化,服務器端就會開始返回使用了新政策的該接口的另一個實現程序。您不必在用戶系統上安裝任何新的軟件就能在客戶端檢查限制條件--從而向用戶提供爍?快的反饋,并降低服務器的工作量。這樣就能具備最大的靈活性,因為政策改變時只需要您編寫一個新的Java類,并將其在服務器主機上安裝一次即可。
  設計方式:對象傳遞功能使您可以在分布式計算中充分利用面向對象技術的強大功能,如二層和三層結構系統。如果您能夠傳遞屬性,那么您就可以在您的解決方案中使用面向對象的設計方式。所有面向對象的設計方式無不依靠不同的屬性來發揮功能,如果不能傳遞完整的對象--包括實現和類型--就會失去設計方式上所提供的優點。
  安  全:RMI使用Java內置的安全機制保證下載執行程序時用戶系統的安全。RMI使用專門為保護系統免遭惡意小應用程序侵害而設計的安全管理程序,可保護您的系統和網絡免遭潛在的惡意下載程序的破壞。在情況嚴重時,服務器可拒絕下載任何執行程序。
便于編寫和使用:RMI使得Java遠程服務程序和訪問這些服務程序的Java客戶程序的編寫工作變得輕松、簡單。遠程接口實際上就是Java接口。服務程序大約用三行指令宣布本身是服務程序,其它方面則與任何其它Java對象類似。這種簡單方法便于快速編寫完整的分布式對象系統的服務程序,并快速地制做軟件的原型和早期版本,以便于進行測試和評估。因為RMI程序編寫簡單,所以維護也簡單。
  可連接現有/原有的系統:RMI可通過Java的本機方法接口JNI與現有系統進行進行交互。利用RMI和JNI,您就能用Java語言編寫客戶端程序,還能使用現有的服務器端程序。在使用RMI/JNI與現有服務器連接時,您可以有選擇地用Java重新編寫服務程序的任何部分,并使新的程序充分發揮Java的功能。類似地,RMI可利用JDBC、在不修改使用數據庫的現有非Java源代碼的前提下與現有關系數據庫進行交互。
  編寫一次,到處運行:RMI是Java“編寫一次,到處運行 ”方法的一部分。任何基于RMI的系統均可100%地移植到任何Java虛擬機上,RMI/JDBC系統也不例外。如果使用RMI/JNI與現有系統進行交互工作,則采用JNI編寫的代碼可與任何Java虛擬機進行編譯、運行。
  分布式垃圾收集:RMI采用其分布式垃圾收集功能收集不再被網絡中任何客戶程序所引用的遠程服務對象。與Java 虛擬機內部的垃圾收集類似,分布式垃圾收集功能允許用戶根據自己的需要定義服務器對象,并且明確這些對象在不再被客戶機引用時會被刪除。
  并行計算:RMI采用多線程處理方法,可使您的服務器利用這些Java線程更好地并行處理客戶端的請求。Java分布式計算解決方案:RMI從JDK 1.1開始就是Java平臺的核心部分,因此,它存在于任何一臺1.1 Java虛擬機中。所有RMI系統均采用相同的公開協議,所以,所有Java 系統均可直接相互對話,而不必事先對協議進行轉換。

(出處:http://m.survivalescaperooms.com)



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新野县| 垣曲县| 东至县| 临汾市| 塔城市| 菏泽市| 石楼县| 烟台市| 历史| 连山| 奇台县| 藁城市| 同江市| 井陉县| 米易县| 栾川县| 双城市| 和田县| 兴安县| 卢湾区| 始兴县| 成安县| 五寨县| 南陵县| 石嘴山市| 肇庆市| 上蔡县| 镇远县| 楚雄市| 深水埗区| 西丰县| 延吉市| 石渠县| 禹州市| 江都市| 磴口县| 德庆县| 永丰县| 乳山市| 开远市| 新龙县|