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

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

Java縱橫談

2019-11-18 13:57:49
字體:
來源:轉載
供稿:網友

1984年1月,AppleComputer公司一舉創造了一種成為個人生產力要害因素的全新的計算觀念:臺式計算機,完全改變此前的計算情況。1995年5月,當SunMicrosystems公司把java發放到Internet之上時,又再一次引起世界的震動。

Java雖然名字沒有太多的意義,但有兩點卻事關重大。第一,Sun的這一簡單的基于對象的開放系統新語言,能使軟件開發者利用WorldWideWeb或當前ISV們正在開發的任何前端軟件,設計可在Internet上分發的應用軟件;第二,它是一種虛擬計算機(技術上叫做JavaVirtualMachine),最終將使一切基于Java的應用軟件無處不在???在任何地方運行,不管是什么硬件和用什么操作系統

為什么叫Java?
Sun公司副總裁JamesGosling于1990年首次提出Java的設計,今天他指揮著Sun的全部Java開發工作的技術隊伍。Java語言原來被JamesGosling叫做Oak(橡樹)。他起這個名字的靈感出自他在SunMicrosystems公司辦公室窗外的一棵大橡樹。

后來,Java開發小組發現,Oak是Sun的一種編程語言的名字,于是只得另起新名。開發小組經過幾個小時的冥思苦想后發現,要給一種編程語言起一個好的名字是太難了。

最后,有一天在去當地咖啡館的路上,忽然生出了這個妙想???Java。

其實,Java是印度尼西亞共和國的一個最重要的島嶼,中文譯名叫爪哇,位于蘇門答臘島之東與巴厘島之西,自1696年以來便盛產咖啡。迄今,Java咖啡仍極富盛名。

Java革命
JavaVirtualMachine或者Java應用軟件,可不作修改且無需重新編譯就可在任何平臺上運行,包括智能峰窩電話、膝上型機、Windows3.1、Win95、NT、OS/2或Unix工作站及服務器、以至運行MVS的AS/400或IBMS/390。而且它的運行可以跨越任何數量的網絡及Inter-net協議,利用自定名(You-Name-It)數據庫網關,并遵從包括CORBA及NetworkOLE在內的任何一種分布式對象標準。

無疑,這是革命性的。而更具革命性的是Sun公開Ja-va的決策,尤其是把JavaVirtualMachine對一切人公開。這意味著,任何軟件廠商或單個的開發人員,包括開發工具廠商、語言編譯器開發者、RDBMS廠商、中間件廠商、客戶機/服務器應用廠商、以至躲在陰暗角落里的“黑客”,都能利用JavaVirtualMachine的字節代碼語言,創造出具Internet能力的、可隨處運行的應用軟件和服務。

所以,就象革命性的Mac硬件及其OS展現了企業中以臺式機為中心的客戶機/服務器計算的親用戶的時代一樣,現在這種新的Java技術正在開辟一條蓬勃發展的、企業內外以網絡為中心的客戶機/服務器計算的親開發者的道路。

Java革命將引出一個以授予個人權利為標志的軟件世界。Java展現了讓操作系統像窗玻璃一樣透明的前景。軟件、信息技術與網上的內容將依其質量與服務來評判,而不由其創建者的獨家擁有(也可說“壟斷”)所左右。

Java群體天天都在擴大,它既包括一些世界最大的ISV,也包括公司CIO、信息技術人員、系統分析人員、C/S開發人員、編程人員、多媒體設計者、市場行銷人員、教育工作者、經理、影視生產者甚至業余愛好者等廣泛的用戶。

從傳統上看,這樣一些人在一起有效地工作是不多見的。當我們談到開放系統時,我們往往是就已發表的API及規格,或者源碼的可得性,或者硬件、聯網及操作系統而言的,沒有一個人是從人的開放的意義上來談的。Java完成了開放系統的閉合鏈。它開發了人力資源,而反過來又開辟了共同工作的道路。

正因為如此,Sun的Java正以令人難于置信的速度贏得在企業計算世界中的地位。

讓企業在烤箱用的OS上運行嗎?
原來的Java小組從事消費電子設備的軟件設計。他們很快發現,諸如C及C++等語言是不合適的,因為它們對特定的計算機芯片都必須進行編譯。當一種新的芯片出來后,大部分軟件都要重新編譯,才能充分發揮新芯片的特性。一旦編譯好后,要用新的軟件庫時C及C++程序又不輕易修改。當修改庫時,這些程序又必須重新編譯。

消費設備軟件必須要用新的芯片,因為制造商受到元件成本的制約。假如計算機芯片的價格太高,它們就會馬上用新的更便宜的來替換。即使一點點價格的變化,當銷售成百萬臺設備時差別就很大了。

用于消費電子設備的軟件還一定要非常可靠,要比大多數計算機軟件可靠得多。假如消費產品出現故障,制造商往往就得替換整個機器。

基于Java的“InternetPC”
很少有象InternetPC這樣的爭論成為業界的熱門話題的了。InternetPC由IBM、Oracle和Sun首先倡導,而眾多較小的公司也在付諸行動。

其中心思想是,這種InternetPC將是不到500美元的設備,人們可用來從Internet卸載他們需要的程序,而無需本機存儲程序和文件(大多數InternetPC的設計均不含硬盤)。對治理人員來說,InternetPC可望大為減少治理、維護費用和時間,消除一輪又一輪費錢的升級,而裝入免費或者幾乎免費的軟件。

在Sun的InternetPC設想中,Java的運行如同一個小操作系統???可以稱為JavaOS,類似于內核的前端軟件。這種操作系統代碼將能在各種微處理器上的和從手持式PDA到最小內存???大概4MB的低檔PC機等設備上運行。

假如Java能在讓編程人員編寫非常緊湊的代碼方面獲得成功的話,那么,即使今天大多數用戶面臨有限的帶寬,也可能使用戶相當快地卸載和運行Java小程序。

今年1月,Sun在Demo’96交易展上預展了一臺InternetPC樣機,包括監視器在內,尺寸約為5×9×2英寸。Sun公司官員承認,該機價格將超過500美元,主要因為它帶一種工作站監視器。

低于500美元設備的想法會是什么樣子,請看看Ora-cle的NetworkComputer(NC)。基本機型將包含一只廉價RISC微處理器、一個基于ROM的操作系統、4~8MBRAM、一個PCCard擴展槽、一個以太網接頭、一個鍵盤和一只鼠標。由于所提出的系統不帶監視器,用戶勢必要插到PC監視器或電視機上。

Oracle的NC定于3月出樣機,預計夏末限量交付。O-racle打算設計一種便攜機和一種更貴的多媒體機。公司將給其它制造商發放這些設計的許可證。

雖然Sun、Oracle和IBM(以其InterPersonalCom-puter或ipC)大受注重,而少數小公司本月(3月)就可望交付Net機。例如:英國劍橋的AcornComputerGroup、德州澳斯汀的SunRiverDataSystems及渥太華的TransPhone。今年年底,密執安州伯明翰的WebBook公司打算提交一種專為Java設計的Web接入設備。該設備將用圣地亞哥的PatriotScientific公司的ShBoomRISC芯片作它的Java運行引擎。象Java一樣,ShBoom采用一種面向堆棧的體系結構,Patriot官員聲稱,它將有比運行其它處理器更快的優點。

Java的保證
Java是一種有一大套保證的語言,當一起獲得時,便成為一種對程序來說確實先進的操作系統。這些保證的大多數在別的語言中也采用了,但沒有哪種語言或操作系統一起提供全部的保證。

這些保證包括:

1.Java代碼是可移植的,而且對當代幾乎所有的操作系統無需修改便能運行。

2.Java給程序員提供真正的多線程以及同步化方法。

3.Java提供與平臺無關的用戶接口。

4.Java具有內置聯網功能。

5.所有Java對象都知道它們怎樣打印輸出。

6.Java編譯器強制進行所有的出錯和意外處理。

7.自動進行內存清零。

8.按小程序編寫的程序可自動在網上分發。

9.Java小程序將在任何平臺上的輕型客戶機Web瀏覽器中無縫運行。

Java優于OLE嗎?
Sun并非是唯一一家想到分布式對象的公司。Mi-crosoft在推動其ObjectLinkingandEmbedding(OLE)規格成為軟件組件的事實上的標準方面,已獲得了很大的成功。而且,將隨WindowsNT的下一個版本(NT4.0)交付網絡可用的OCX(即OLE控制),在許多方面都與Java對象相似。兩者均支持一種重要的面向對象特性???繼續。要讓網絡對象發揮它們的潛能,這種繼續父對象功能性的能力是至關重要的。

但是,即使Java小程序與網絡可用的OCX在許多方面相似,卻也存在一些極為重要的差別。

首先,Java小程序是與平臺無關的。一個Java小程序只要寫一次就能在運行JavaVirtualMachine的任何PC機上運行。Java小程序與平臺無關,而OCX卻或多或少受限于Windows工作站。

其次,Java小程序在安全的Java環境下執行。相比之下,執行一個從成百萬個Internet節點中的某個節點來的電子數據表OCX,難以保證它們實際運行的不是一個病毒的荒原,而使它們的硬盤驅動器不能工作。Java就不一樣,它不答應對內存或硬盤的非授權訪問,從而大大減小了一個惡意程序造成的潛在的危險。

最后,OCX與Java小程序之間的一個重要的差別在于,一個OCX只去一個方向:服務器到客戶機,而Java小程序可以去兩個方向,在客戶機與服務器之間不管方向。例如,一個希望在幾臺服務器上查找一張數據庫表的客戶機,可以動態地向每臺工作的服務器送一個小程序。另外,這些小程序不同于傳統的客戶機/服務器應用程序,不必要預先安裝。

JavaVirtualMachine:一種軟CPU
大概,Java環境最重要的組件就是JamesGosling定名的JavaVirtualMachine了。這種VM比起典型的BASIC或其它高級語言運行期解釋器強多了。VM是仿照一種小巧高效的CPU設計的。它采用Java編譯的字節代碼,而且只要是機器語言它都運行。VM的更低層把這種偽機器代碼轉換為實際的硬件調用(不管它運行的機器上有無OS駐留都照辦不誤)。

JavaVirtulaMachine支持大約248個字節代碼。每個字節代碼執行一種基本的CPU運算,如把一個整數加到寄存器,把兩個寄存器中的數相加,對子程序的轉移,存貯結果,寄存器加1或減1,不一而足。其實,VM是一個堆棧結構且有本地和全局變量的算術邏輯單元(ALU)。

這種堆棧體系結構是這樣工作的:要把兩個數相加,VM首先把它們放入堆棧,然后加它們。在完成加法后,VM把結構留在棧內供過程的下一步用。假如你想到HP計算器的邏輯的話,你就接近于理解VM的邏輯了。

本地VM變量用于暫存和調用子程序。全局變量則用于跟蹤,例如,根據Java字節代碼程序的實際機器代碼在內存何處執行,當前的對象是什么,相關的數據存放在內存何處,以及其它的全局信息。

它不應讓人驚奇,有些芯片制造商(包括SunMi-crosystems和PatriotScientific在內)已經把Java字節代碼作為基本指令集做成了一類新的CPU。它們可以用于簡單的手持式設備(蜂窩電話、傳呼機等),以及Internet專用設備。利用把字節代碼操作對象燒到硅芯片上,所以Java能以相當快的速度運行。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 包头市| 恩平市| 武胜县| 荣昌县| 长岛县| 南宫市| 定结县| 汝城县| 双城市| 大英县| 固安县| 综艺| 波密县| 朝阳区| 永春县| 平度市| 会理县| 马关县| 南京市| 铜陵市| 昌图县| 乌鲁木齐县| 惠东县| 迁西县| 马关县| 常州市| 田阳县| 镇沅| 将乐县| 中超| 玉山县| 伽师县| 贺州市| 寿宁县| 射阳县| 都兰县| 通渭县| 石台县| 凤城市| 南开区| 新兴县|