程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 使用非Java代碼

使用非Java代碼

編輯:關於JAVA

JAVA語言及其標准API(應用程序編程接口)應付應用程序的編寫已綽綽有余。但在某些情況下,還是必須使用非JAVA編碼。例如,我們有時要訪問操作系統的專用特性,與特殊的硬件設備打交道,重復使用現有的非Java接口,或者要使用“對時間敏感”的代碼段,等等。與非Java代碼的溝通要求獲得編譯器和“虛擬機”的專門支持,並需附加的工具將Java代碼映射成非Java代碼(也有一個簡單方法:在第15章的“一個Web應用”小節中,有個例子解釋了如何利用標准輸入輸出同非Java代碼連接)。目前,不同的開發商為我們提供了不同的方案:Java 1.1有“Java固有接口”(Java Native Interface,JNI),網景提出了自己的“Java運行期接口”(Java Runtime Interface)計劃,而微軟提供了J/Direct、“本源接口”(Raw Native Interface,RNI)以及Java/COM集成方案。
各開發商在這個問題上所持的不同態度對程序員是非常不利的。若Java應用必須調用固有方法,則程序員或許要實現固有方法的不同版本——具體由應用程序運行的平台決定。程序員也許實際需要不同版本的Java代碼,以及不同的Java虛擬機。
另一個方案是CORBA(通用對象請求代理結構),這是由OMG(對象管理組,一家非贏利性的公司協會)開發的一種集成技術。CORBA並非任何語言的一部分,只是實現通用通信總線及服務的一種規范。利用它可在由不同語言實現的對象之間實現“相互操作”的能力。這種通信總線的名字叫作ORB(對象請求代理),是由其他開發商實現的一種產品,但並不屬於Java語言規范的一部分。
本附錄將對JNI,J/DIRECT,RNI,JAVA/COM集成和CORBA進行概述。但不會作更深層次的探討,甚至有時還假定讀者已對相關的概念和技術有了一定程度的認識。但到最後,大家應該能夠自行比較不同的方法,並根據自己要解決的問題挑選出最恰當的一種。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved