首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

使用非 Java 代碼總覽:JNI、J/Direct、RNI、Java/COM 與 CORBA 多廠商方案對比

     編輯:Java 相關知識

非 Java 代碼互操作的必要性

Java 語言與標準 API 處理應用程式編寫綽綽有餘。但特定情況必須使用非 Java 代碼:存取作業系統專用特性、操作特殊硬體設備、復用現有非 Java 介面、使用「對時間敏感」代碼段等。與非 Java 代碼溝通需編譯器與虛擬機專門支援、附加工具映射 Java 至非 Java 代碼(簡單替代:第 15 章標準輸入輸出連接)。

多廠商方案碎片化現狀

不同開發商提供不同方案:
• Java 1.1:Java 固有介面(JNI)
• Netscape:Java 執行期介面(JRI)計畫
• Microsoft:J/Direct、原始原生介面(RNI)、Java/COM 整合

廠商態度差異對程式設計師極不利:應用程式調用固有方法時,可能需實現不同版本固有方法(視運行平台決定),甚至需不同版本 Java 代碼與 JVM。

CORBA 作為替代整合方案

另一方案為 CORBA(通用物件請求代理架構),由 OMG(物件管理群組,非營利公司協會)開發的整合技術。CORBA 非語言一部分,僅實現通用通訊總線與服務的規範。利用它可在不同語言實現物件間實現「互操作」。通訊總線稱 ORB(物件請求代理),由其他開發商實現產品,不屬 Java 語言規範一部分。

本附錄涵蓋範圍

本附錄對 JNI、J/DIRECT、RNI、JAVA/COM 整合與 CORBA 進行概述,不作深層探討,有時假設讀者具相關概念技術認知。最終讀者應能自行比較不同方法,依問題選擇最恰當方案。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved