陳樹峰
(杭州國際服務工程學院,浙江 杭州 310000)
1995年5月,sun公司正式發布了Java編程語言。在此之前的兩個版本分別時alpha盒beta。Java平臺第一次正式發布的開發工具套件盒api叫做Java開發工具(Java Development Kit,JDK)。自從 1995 年以來,Java語言的使用者以一個客觀的速度在增長。當第一個Java平臺推出后,許多流行的web瀏覽器廠商迅速為其瀏覽器添加了內置的1.0jvm來支持applet。
1997年,sun公司推出了1.1版本。這個版本在Java開發語言中增添了許多特性,尤其突出的時,對于類集的補充和修改,最后形成了Java api。雖有,sun又發布了該版本的Javabean標準規范。幾個月之后,眾多的流行web瀏覽器開發商迅速的升級了他們內置的jvm,以便和1.1版本兼容。2009年04月20日,oracle(甲骨文)宣布收購 sun。
2.1 應用程序能夠獨立運行在任何規模的計算機上,他可以是大型應用軟件,也可以是簡單的小型應用程序。它們既可以通過命令行運行,也可通過圖形用戶界面運行。一個應用程序是否包含連接數據庫、網絡或其它應用程序的接口,也取決于該應用程序索使用的應用程序接口(api)集。Java應用程序只運行在Java虛擬機(jvm)上。它們不是為某個特定的處理器指令集或操作系統編譯的,而是為Java平臺編譯的。
2.2 Applet是一種可以通過html文檔運行的程序。Html表示超文本標記語言,是一種全局性的信息機構,是網頁使用的標記語言,它將文檔中的不同部分通過關鍵字建立連接,使信息以交互方式進行搜索。Html具有專門為applet定義的標識符。當瀏覽器顯示html文檔時,基于Java的web瀏覽器要有一個jvm來運行applet。Applet常被用來增加網頁的視覺和多媒體效果。
2.3 Servlet就像applet,是用來優化網頁設計的Java程序。于applet不同的時,servlet運行在基于Java的web服務器上,用來生成被發送到客戶端瀏覽器上進行顯示的html文檔。
例如,可以使用servlet對web客戶端提交的html窗體進行加工,制作成一個新的回應網頁。
3.1 代碼可重用性
①Javabean使Java類,或者使Java類組,但是要遵循一套非常嚴格的技術標準??梢酝ㄟ^構建Javabean組建,將Java類變成可重用的和可配置的軟件組件。通過使用開發工具,程序員可以將Javabean組件連接起來并應用到Java應用程序中,就像用標準微處理芯片焊接一個集成電路板一樣。許多的Java核心類都是Javabean組件,如用于gui的可視化圖形對象。
②企業型Java小系統(enterprise Java bean,ejb)使一種非常有前途的新興技術。Ejb標準定義了分布式企業環境下,服務器組件的軟件體系結構。它的目標式讓程序員專注于Java類需要執行的業務邏輯。企業型Java 服務器(enterprise java server,ejs)用于管理以下服務:事務處理、安全、命名服務來定位和鑒別ejb。通常,編程員需要一個ejb開發工具來構造和發布ejb。
3.2 Java的健壯性
①在jvm上運行的程序不能直接訪問機器本地系統資源,除非通過jvm支持的api。因此,Java程序不能訪問不允許應用程序使用的內存區域,不能錯誤調用api,不能執行一些比較低級的操作,因為這些操作常常式用其他語言編制的程序出錯的原因。
②jvm執行自己哦能夠內存單元管理。Java語言能很大程度的降低濫用內存單元的幾率,而其他的語言一般斗明確指出內存的申請和釋放必須由程序員來完成。程序員很難任意訪問內存單元,可jvm卻可以實時檢查內存中可用的界限。因此,程序從來不會在不該訪問內存單元的時候進行訪問,或錯誤調用了他們本不想調用的內存單元。
③Java平臺具有一個強大的管理機制用來處理錯誤和意外事件。當某個操作不能被完全執行時,用其他編程語言編制的程序往往回過早地終止。在jvm中有一個處理錯誤信息和意外事件的對象叫Exception(異常)。這個對象記錄了所有發生過的意外事件的類型和原因。程序員可以微所有類型的意外事件編寫自己所需的程序。例如,當程序試圖讀取一個不存在的文件時,錯誤處理程序就會捕捉到錯誤信息并做出適當處理。盡管錯誤處理模塊不是Java語言所獨有的,但它在Java環境中的使用卻有更可靠的表現。
④Java語言是類型安全的,也就是 說,不能隨意的使用某個信息,所有的操作都應該基于該信息所定義的類型。也不能玩弄投機取巧的的小伎倆,因為這種做法在其他語言中是許多程序出錯的罪魁禍首。例如,不能用你的數據結構覆蓋系統中的數據結構,然后再對其進行修改。
3.3 Java的安全性
①jvm在一個沙盒(sandbox)中運行不可信代碼。沙盒為jvm分配專門運行有限特權代碼的區域。沙盒中的代碼只有很少的權限來訪問文件系統,而且不允許進行任何損害jvm或本地系統完整性的操作。例如,不可信代碼不能寫入本地文件,不能直接訪問本地代碼,不可以讀取特定的系統屬性。
②從不可信站點下載的字節碼(如未知服務器),在執行前,必須先要進行檢驗。檢驗系統是一個安全機制。它必須保證字節碼文件的構造是正確的。例如,它必須核查每條指令都有一個合法操作碼。
③如果applet具有一個可識別的數字簽名密鑰,jvm也能接受applet。
3.4 Java語言的動態性
在Java語言中,根據使用的環境不同,動態一詞有不同的解釋:
①在運行時,jvm動態的將程序所需的類加載進來。只有當類第一次被使用時,jvm才將其加入。Jvm不需要將程序使用的所有類都加載進來,也不需要在程序執行前將所有類都準備出來。
②當同一個繼承層次支持一個以上的類調用方法時,jvm使用動態綁定來決定使用那個調用方法。
③Java軟件的卡發過程也具有動態的性質。程序員可采用增量的方式構建類集盒創建、測試程序、并用不同的方法進行組合。
Java的誕生是對傳統計算機模式的挑戰,對計算機軟件開發和軟件產業都產生了深遠的影響?;跇嫿ㄩ_發方法的崛起,引出了CORBA國際標準軟件體系結構和多層應用體系框架,在此基礎上形成了Java.2平臺和.NET平臺兩大派系,推動了整個IT業的發展;軟件產業的影響是軟件從以開發為中心轉到了以服務為中心,而中間提供商,構件提供商,服務器軟件以及咨詢服務商出現,這就要求企業必須重塑自我,B2B的電子商務將帶動整個新經濟市場,使企業獲得新的價值,新的增長,新的商機,新的管理;對軟件開發帶來了新的革命,重視使用第三方構件集成,利用平臺的基礎設施服務,實現開發各個階段的重要技術,重視開發團隊的組織和文化理念,協作,創作,責任,誠信是人才的基本素質??傊?,目前以看到了Java對信息時代的重要性,未來還會不斷發展,Java在應用方面將會有更廣闊的前景。
[1]李鐘尉,周小彤,陳丹丹等.Java從入門到精通.2010年07月.清華大學出版社.