淺談Java語言與Java 技術

Java語言是一種適用於網絡編程的語言,它的基本結構與C++極爲相似,但卻簡單得多。它集成了其它一些語言的特點和優勢,又避開了它們的不足之處。本文就Java語言與Java 技術展開論述,歡迎閱讀!

淺談Java語言與Java 技術

語言的出現

自從1946年世界上第一臺電子計算機問世以來,計算模式的發展經歷了三個階段:集中計算模式、分散計算模式和網絡計算模式。Internet的出現,爲在網絡計算模式下的科學計算和信息處理提供了良好平臺。然而,要充分利用網絡計算模式的功能與效益,平臺的運行環境是個制約因素,而Java語言和Java技術則是解決這一問題的最佳途徑。

1991年,SUN公司的Jame Gosling,Bill Joe等人試圖爲電視、烤箱等家用電器開發一種交互式的軟件系統,這種應用需要的是那種小而可靠的系統,它能夠移植,並且實時性好,適用於網絡分佈環境。流行的C++是自然的選擇。不過,開發過程中遇到的許多難以克服的困難使他們意識到必須徹底解決問題了,最終,開發成功了一個名爲Oak的軟件,此中蘊藏着Java的原型,當時,並未引起人們的注意。1994年下半年,隨着Internet的迅猛發展,環球信息網WWW的快速增長,促進了Java語言研製的進展,使得它逐漸成爲Internet上倍受歡迎的開發與編程語言。1995年5月Java正式問世,一些著名的計算機公司紛紛購買了Java語言的使用權,如Microsoft、IBM、Netscape、Novell、Apple、DEC、SGI等。因此,Java語言被美國著名雜誌PC Magazine評爲1995年十大優秀科技產品(計算機類僅此一項入選)之一,隨之大量出現了用Java編寫的軟件產品,受到工業界的重視與好評,認爲“Java是八十年代以來計算機界的一件大事”。微軟總裁比爾·蓋茨在認真觀察了一段時間後,確認“Java是長時間以來最卓越的程序設計語言”,並確定微軟整個軟件的開發戰略從PC單機時代向以網絡爲中心的計算時代轉移,而購買Java則是他的重大戰略決策的實施部署。

因此,Java的誕生必將對整個計算機產業發生深遠的影響,對傳統的計算模型提出了新的挑戰。SUN Microsystem公司的總裁Scott McNealy認爲:Java對Internet和WWW開闢了一個嶄新的時代。

有人預言:Java將成爲網絡上的“世界語”,今後,用其他語言編寫的軟件統統都要用Java語言來改寫。

語言的主要特點

Java語言是一種適用於網絡編程的語言,它的基本結構與C++極爲相似,但卻簡單得多。它集成了其它一些語言的特點和優勢,又避開了它們的不足之處。它的主要特點如下:

2.1簡單性

Java與C++相比,不再支持運算符重載、多級繼承及廣泛的自動強制等易混淆和較少使用的特性,而增加了內存空間自動垃圾收集的功能,複雜特性的省略和實用功能的增加使得開發變得簡單而可靠。

簡單化的另一個方面是Java的系統非常小,其基本解釋和類支持部分只佔40KB,附加的基本標準庫和線程支持也只需增加175KB。因此,Java應用軟件能在相當小的系統之上獨立工作。

2.2平臺的獨立性

這是Java最吸引人的地方。由於它採用先編譯成中間碼(字節碼),然後裝載與校驗,再解釋成不同的機器碼來執行,即“Java虛擬機”的思想,“屏蔽”了具體的“平臺環境”特性要求,使得只要能支持Java虛擬機,就可運行各種Java程序。

2.3面嚮對象的技術

面向對象(O-O)的技術是近年來軟件開發中用得最爲普遍的程序設計方法,,它通過把客觀事物進行分類組合、參數封裝、用成員變量來描述對象的性質、狀態,而用方法(成員函數)來實現其行爲和功能。O-O技術具有繼承性、封裝性、多態性等衆多特點,Java在保留這些優點的基礎上,又具有動態聯編的特性,更能發揮出面向對象的優勢。

2.4多線程

多線程機制使應用程序能並行執行,Java有一套成熟的`同步原語 ,保證了對共享數據的正確操作.通過使用多線程,程序設計者可以分別用不同的線程完成特定的行爲,而不需要採用全局的事件循環機制,這樣就很容易實現網絡上實時的交互行爲。

2.5動態性

Java的設計使它適合於一個不斷髮展的環境。在類庫中可以自由地加入新的方法和實例變量而不會影響用戶程序的執行。並且Java通過接口來支持多重繼承,使之比嚴格的類繼承具有更靈活的方式和擴展性。

2.6安全性

Java有建立在公共密鑰技術基礎上的確認技術.指示器語義的改變將使應用程序不能再去訪問以前的數據結構或是私有數據,大多數病毒也就無法破壞數據.因而,用Java可以構造出無病毒、安全的系統。

Java語言除上述主要特點外,還有高性能、分佈性、強大性、解釋性、可移植性等,此處不再 贅述。

語言的發展

Java自正式問世以來已經歷了四年的歷程,時間雖短,發展極快。一年一度在美國舊金山召開的世界Java One語言開發者大會(Java One Developer Conference)盛況空前正說明了這一點。四年中每年的Java One大會,既是瞭解Java最新技術動態、應用成果和下一步發展趨勢的最好場所,又是推動下一年Java快速發展的重要動力。首屆Java One大會於1996年召開,各屆簡況如下:

1996年5月29-31日,第一屆,出席會議者6500餘人,來自工業界的超過一半。有人評價說:“這是近年計算機界最光輝的一次盛會”。工業界相當看好Java語言,認爲它的使用將會引起一場軟件革命:從軟件的設計風格、設計方法、設計目標到設計過程,都會產生徹底的變革,“甚至會改變此星球的生活方式”。

1997年,第二屆,出席會議者10000人。Java的追隨者不斷增加,應用開發迅速起步。

1998年3月24-27日,第三屆,出席會議者14000餘人(註冊人數),註冊門票售價1195美元,否則1395美元,即使如此,仍有不少人不惜工本,擠入會場。本次會議除了軟件巨頭微軟未參加會議外,幾乎所有的計算機公司都參加了。展廳內設300多個展臺,先後舉行了90場專題討論會,每場參加的人數從千人至五六千人不等。會議的主題是:通過Java的培訓來帶動Java軟件的開發和技術研究,從而發展生產力,獲取高額利潤,提高生活質量,推動信息產業的進步。會議展出的內容大致如下:

Java開發工具軟件,如:JMF、JDK、Symantec Visual Cafe、Java Dynamic Management Kit、JFC、JNDI、Java Studio 等;

企業信息管理解決方案軟件,如:EJB(Enterprise JavaBeans);

基於Java技術的信息家電,如:機頂盒、Java電話等;

個人信息綜合服務(Java戒指)、社會信息綜合查詢亭(Kiosk);

電子商務軟件、智能卡、Java Card API 等;

網絡計算環境下的Java服務器軟件、遠程方法調用(RMI)、基於Java技術的移動計算設備;

JMS(Java Message Service)用於出版、票據訂閱的軟件;

JOS(Java OS)、基於Java技術的NC和Java Station。

1999年6月15-18日,第四屆,出席會議者達20000人,300多家廠商參展,舉辦400多場技術講座,555名演講者慷慨陳詞,精彩紛呈。這次大會的主要特點是:

Java框架結構被梳理清晰

本次JavaOne大會上,Sun公司的一個重大舉措就是公佈了Java平臺的最新架構。重新定義的Java平臺以Java 2爲核心,由面向企業和服務器市場的企業版Java 2(J2EE)、面向傳統PC客戶機市場的標準版Java 2(J2SE)和麪向信息電器等後PC終端設備市場的Micro版Java 2(J2ME)三大部分組成。其中,J2EE包括Enterprise JavaBeans(EJB)、Java Server Pages & Java Servlets、Java Mail API和Java Massage Service組成。而J2ME則是原有的Personal Java、EmbeddedJava、JavaCard以及剛剛推出的Kjava組成。雖然新框架結構中的內容都是已有的,但這樣重新定義和組合,使得Java平臺的概念簡單化,從而變得易於理解,更適合於進行市場推廣。

2)重點放在企業平臺

隨着Internet的飛速發展,企業計算模式正摒棄C/S結構而採用Web-Browser結構,此即瘦客戶端/胖服務器、大容量數據庫的3層或N層體系結構。由於Java的特點,使得它在開發服務器端的應用程序方面有着得天獨厚的優勢,面向服務器端的J2EE爲當今逐漸流行的N層體系結構提供了一個標準的Java計算平臺:界面一致、工具簡易、豐富、Web頁面互聯便捷,從而能大大加速和簡化各種應用系統的開發。

3) 加速後PC時代的進程

計算機的發展創造了Internet,但是計算機現在卻不是訪問Internet的唯一方式。正在出現的信息化、智能化的消費類電子產品打破了PC作爲信息終端的壟斷地位,成爲人類進入Internet的新門戶。信息終端的多元化預示着所謂後PC(post-PC)時代的到來。消費類的信息終端量大面廣,是典型的瘦客戶機,其本身的資源和能力不能與PC相比,但必須更加智能化,並對服務器端的管理提出了更高的要求。而Java平臺恰恰滿足了這種要求。本次大會推出的Kjava虛擬機能運行在16以上的微處理器上,佔用內存少,人們可以隨心所欲,在資源有限的設備上方便地開發出各種各樣的應用,直接運行在不同的消費類或其它電子設備上;而Jini的出現爲Java網絡連接提供了公共標準,使得任何Java設備都可以連入網絡中被自動識別,並可充分利用網絡上已有的各種資源。大力推進Jini的發展是Sun公司加速後PC時代進程的一項重要策略。

4)應用系統異彩紛呈

與上屆大會一樣,展出內容有:應用工具、應用系統、信息家電等。特別在實時系統開發方面,以IBM爲首開發出了應用於工業實時環境的Java嵌入系統,展現出Java在工業領域的廣闊應用前景。

Java語言的出現和發展,得到了IT業界的青睞,它像一面大旗,凝聚了世界衆多的廠商與Sun公司一道,結成了對抗微軟壟斷的聯盟。許多知名廠商紛紛購買Java許可證,目前已有90多萬個軟件開發商加入了Java陣營,1億個Java最終用戶,幾千種Java應用軟件產品,1500餘種Java書籍(自Java問世4年來,平均每天出版一本)。這真是IT業界的盛事!

IBM公司提出“高舉Java大旗,全力以赴”的口號,它在全世界的11個國家有28個實驗室,集聚了2500餘名技術人員,全天侯24小時進行全方位開發;芯片巨人Intel提出“抓住時機,佔領Java陣地”!決心使Intel芯片系統成爲開發Java應用運行的最佳平臺;Novell則宣稱“Java是Novell的未來,未來是服務器端Java的市場”;作爲Java發明者的Sun公司,堅持“保衛Java大旗,發展Java之路”的方針,通過對Java的“研究椘攔罈構造棽饈詶推廣”的過程,從而佔領市場。此外,HP、Oracle、Apple、Sybase、Netscape、Informix、3Com、Motorola等公司均是Sun的堅強同盟。

在我國,Java的引進與開發起步早,發展水平基本與世界同步。目前,Sun公司已在中國建成了由5個授權中心、20多個Internet/Intarnet Java解決方案中心和10所Java大學、若干培訓中心組成的三級結構。全面推動Java在中國的普及、應用、研究、開發,培養了數以十萬計的Java開發人員。此外,Sun還牽頭成立了中外軟件廠商的開發聯盟。

在中國,Java的開發可以說是“人才濟濟,成果累累”。如清華大學王克宏教授帶領的課題組面向全國,自96年開始舉辦了多期Java培訓班和講座,開設了數期本科生、研究生Java課程,出版了“Java系列叢書”10餘冊 ,承擔了國家“九五”攻關項目“基於Java技術的交互式遠程教學系統”,並與日本就Java開發進行了國際合作,成績斐然;東大阿派下屬的寶鋼東軟軟件技術研究中心是國內是首屈一指的Java研發骨幹企業,該中心從95年起就開始了Java的研發,目前,已掌握了Personal Java的核心移植技術,併成功地將JVM移植到汽車導航平臺。此外,他們還開發出支持Jini協議的即插即用網絡打印機軟件,以及一套Jini信息家電網絡的可視化演示環境,完成了基於JavaBeans的組件化軟件開發及運行支持環境等多項成果;在臺灣,22家知名計算機公司成立了“Java聯盟”,並在臺北建立了“Java開發中心”,新竹建立了“Java語言實驗室”;在香港,舉行了全島Java杯比賽,掀起了學習Java的熱潮 。Java的浪潮洶涌澎湃,席捲全球!

4. Java技術

Java發展至今日,已不僅僅是一種編程語言,實際上已形成了一門技術.其內容包括:

1)Java軟件包

Java語言及其編程技術、JavaOS、Java開發環境與工具、Java語言的各種軟件包、數據庫接口JDBC等。

2)Java虛擬機及其規範

3) Java嵌入技術(Java芯片)

已推出的有Java戒指、Java卡等。1999年8月2日,Sun公司宣佈名爲MAJC的專門爲Java語言設計的的芯片優化研製成功,欲與Intel試比高低。該芯片在設計時採用了模塊式高性能計算引擎,實質爲一種芯片級並行處理機,能以更有效的方式分解計算任務,特別適合處理多媒體數據。Sun公司希望通過MAJC芯片的發佈催生出一個基於Java語言的微處理器家族,與Intel公司競爭。設想中的Java處理器將應用在從低價消費電子產品到高端因特網服務器領域。

4)Java計算

基於Java技術的企業Internet/Intranet信息系統以及其他應用系統。

5)Jini技術

1999年初正式發佈後,立刻得到業界的廣泛支持。Jini的出現爲Java網絡連接提供了公共標準,使得任何Java設備都可以連入網絡中被自動識別,並可充分利用網絡上已有的各種資源。它把網絡上的各類設備(包括消費類電子設備如移動電話、PDA、DTV、HPC、NC、遊戲機、電冰箱、智能卡等等)和各種軟件組合成一個單一、動態的分佈式系統,使網絡更易於操縱、易於管理,具有更高的可配置性。Jini將使網絡具有自發性,它的出現大大擴展了“計算”和“計算機”的含義,極大地簡化了網絡操作,對家庭用戶來說,使用網上設備即插即用,就像使用電話一樣方便。Java和Jini 不僅可以不依賴於Windows爲代表的操作系統,而且引導着信息產業的潮流,使Sun公司能在未來的、非PC類電子產品的數字化市場中強佔制高點。

6)Jiro平臺

異質網絡環境中安裝的存儲系統的多樣性和分佈性,給存儲管理帶來了巨大的挑戰。用戶和開發人員都希望能有一種技術,能更好地促進企業存儲管理方案的開發。而Jiro平臺正是解決此問題的革命性方案。Jiro平臺實現了Java和Jini 技術,它是一個便於用戶管理異質網絡上由各種服務器、存儲和設備組成的混合環境的開放式存儲管理平臺。它對操作系統是中立的。Jiro爲跨異質存儲局域網(SAN)的管理服務和設備提供了一個開放平臺,允許服務器、存儲和聯網設備在異質網絡環境中無縫地協同工作。Jiro平臺爲開發者帶來的好處有:

允許開發者利用各種實現管理存儲網絡的目標功能創建應用;

提供了一個可以在各種應用、服務和設備之間交互操作的組件模型;

允許設備易被增加、刪除;

允許應用或服務被自動更新。

1999年7月,Sun發佈了正式的Jiro規範草案,供公衆討論、修改。目前,Jiro平臺的團體成員已超過25家,支持Jiro平臺的廠商超過300家。有眼光的廠商紛紛加入到這些組行列,從而加快了Jiro的發展。

結語

Java自問世以來,以其得天獨厚的優勢,在IT業界掀起了研究、開發它的浪潮,顯示了“鵬程萬里”的美好前景。作爲一種與底層硬件無關的、“編寫一次,到處運行”的高級語言和計算平臺,Java天生就具有將網絡上的各個平臺連成一體的能力,真正實現了“網絡就是計算機”的理念。以Java爲代表的網絡的成長,改變了我們的聯繫方式、生活方式、學習方式和經營方式。它的來到使我們目睹了一場類似印刷術的重大變革。毫無疑問,它將影響人類社會的發展,這就是:Java加速人類進入網絡時代!