當前位置:編程學習大全網 - 源碼下載 - java道底有什麽用?是個軟件嗎?

java道底有什麽用?是個軟件嗎?

壹、Java產生的歷史與現狀

1. Java產生的歷史

1995年5月23日

Sun在SunWorld'95上正式發布Java和HotJava瀏覽器。

1995年8月

Netscape獲得Java許可證。

1995年9月

Sun宣布將提供Java開發工具。

1995年10月

Oracle公司、Borland公司獲得Java許可證。

1995年12月

SGI公司、Adobe公司、IBM公司、AT&T公司、Intel公司獲得Java許可證。

Sun和Netscape發布JavaScript——壹種基於Java語言的腳本語言,可供非編程員使用。

Sun、Netscape和SGI宣布締結軟件聯盟,以開發Java和Internet三維和多媒體交互性工具。

1996年1月

Sun宣布成立新的業務部門——JavaSoft部,以開發、銷售並支持基於Java技術的產品,由AlanBaratz先生任總裁。

Sun推出Java開發工具包JDK(JavaDevelopmentKit)1.0,為開發人員提供用來編制Java應用軟件所需的工具。

1996年2月

Sun發布Java芯片系列,包括picoJava,microJava和UltraJava。

Sun推出Java數據庫聯接JDBC(JavaDatabaseConnectivity)數據庫API。

1996年3月

微軟公司、NetManage公司獲得Java許可證。

Sun推出JavaWorkShop。

1996年4月

SCO公司、蘋果電腦公司(Apple)獲得Java許可證。

NEC公司獲得Java處理器技術許可證。

Sun宣布蘋果電腦、HP、日立、IBM、微軟、Novell、SiliconGraphics、SCO、Tamdem等公司將把Java平臺嵌入到其操作系統中。

1996年5月

HP公司、Sybase公司獲得Java許可證。

Addison-Wesley和Sun聯合推出Java應用編程界面(JavaApplicationProgrmmingInterface,Vol1&2)和Java編程語言。

北方電訊公司宣布把Java技術和Java微處理器應用到其下壹代電話機中的計劃。

5月29日,Sun在舊金山舉行第壹屆JavaOne世界Java開發者大會,業界人士踴躍參加。Sun在大會上推出壹系列Java平臺新技術:如JavaMediaAPIs、CommerceAPIs、SecurityAPIs、ServletAPIs、ManagementAPIs等以及JavaRMI和JavaIDL、JavaOS、JavaBeans、新的HotJava開發環境等。

Sun發布HotJava,這是壹套Java類庫,可供開發人員編制可按需剪裁的動態聯網應用軟件和用戶環境。

Sun發布JavaOS,這是壹種非常緊湊的操作系統,用來直接在從網絡計算機壹直到尋呼機的微處理器上運行Java應用軟件。

1996年7月

GemstoneSystems公司、OctelCommunications公司獲得Java許可證。

1996年8月

JavaWorkShop成為Sun通過互聯網提供的第壹個產品。

1996年9月

三菱日本公司等公司獲得Java許可證。

Addison-Wesley和Sun推出Java虛擬機規範和Java類庫。

1996年10月

德州儀器等公司獲得Java許可證。

由於業界通力合作為開發人員提供強有力的平臺獨立部件體系結構,Sun提前完成JavaBeans規範並發布。

Sun發布第壹個JavaJIT(Just-In-Time)編譯器,並打算在JavaWorkShop和Solaris操作系統中加入JIT。

10月29日,Sun發布Java企業計算技術,包括:JavaStation網絡計算機、65家公司發布的85個Java產品和應用、7個新的Java培訓課程和Java咨詢服務、基於Java的Solstice互聯網郵件軟件、新的Java開發者支持服務、演示HotJavaViews、JavaTutor、完成JavaCardAPI等。

Sun演示HotJavaViews——第壹個專供Java網絡計算機使用的用戶環境。HotJavaViews是經過優化的、可為那些將其絕大部分計算時間花費在很少關鍵應用軟件的工作人員提供高效Webtop環境。

Sun宣布完成JavaCard應用編程界面(API)規範,這是智能卡使用的第壹個開放API。JavaCard規範將把Java能力賦予全世界億萬張智能卡。

1996年11月

IBM公司獲得JavaOS和HotJava許可證。

Novell公司獲得JavaWorkShop許可證。

Sun和IBM宣布雙方就提供Java化的商業解決方案達成壹項廣泛協議,IBM同意建立第壹個Java檢驗中心。

Sun交付其第壹批JavaStation網絡計算機。JavaStation網絡計算機被《Information周刊》評為"1996年最重要產品"。

1996年12月

Xerox等公司獲得Java或JavaOS許可證。

Sun發布JDK1.1、Java商貿工具包、JavaBeans開發包及壹系列JavaAPIs。

Sun推出壹個新的JavaServer產品系列,其中包括JavaWebServer、JavaNCServer和JavaServerToolkit。

Sun發布100%純Java計劃,得到百家公司的支持。

1997年1月

SAS等公司獲得Java許可證。

Sun交付完善的JavaBeans開發包,這是在確定其規範後不到8個月內完成的。

1997年2月

Gemplus公司、ElectronicToolsCompany公司獲得Java許可證,北方電訊公司獲得JavaOS許可證。

Sun和ARM公司宣布同意使JavaOS能運行在ARM公司的RISC處理器架構上。

Informix公司宣布在其UniversalServer和其他數據庫產品上支持JDK1.1。

Netscape公司宣布其NetscapeCommunicator支持所有Java化的應用軟件和核心APIs。

1997年3月

HP公司獲得JavaWorkShop許可證,用於HP-UX操作系統。

西門子AG公司等公司獲得Java許可證。

日立半導體公司、Informix公司等公司獲得JavaOS許可證。

Novell公司獲得JavaStudio許可證。

Sun發售JavaOS1.0操作系統,這是壹種在微處理器上運行Java環境的最小、最快的方法,提供給Sun的JavaOS許可證持有者使用。

Sun發售HotJavaBrowser1.0,這是壹種Java瀏覽環境,可以方便地按剪裁來編制專用的信息應用軟件,如信息亭、客戶自助臺和打上公司牌號的網絡應用軟件。

Sun推出JDK1.1.1。

3月17日Sun向國際標準化組織的第壹聯合技術委員會(JTC-1)申請成為Java的公開有效規範(PAS)的提案者。

1997年4月

OSFResearch(OpenGroup)公司、Lucent公司獲得Java許可證。

Corel公司獲得JavaStudio許可證。

4月2日Sun在美國舊金山舉行第二屆JavaOne開發應用者大會,有超過10,000人參加。

Sun正式開展100%純Java計劃。

Sun發布PersonalJavaTM和EmbeddedJavaTM,表明Java同樣可在PDA(個人數字助理)、復印機和智能卡中很好發揮作用。

Sun為企業計算推出全面的Java平臺,包括壹種新技術EnterpriseJavaBeans。它使用Java來突破建立端對端商務解決方案的復雜性。

Sun宣布JavaPCTM計劃。JavaPC是壹種低價位軟件技術,可把老的DOSPC機變換成網絡計算機,既簡單又方便。

Sun與LG半導體公司協議***同開發用於網絡計算機及其他消費設備的Java處理器。

Sun與Netscape宣布***同合作以提供Java基礎類庫。

Sun與RockwellCollins公司宣布將***同開發用於消費類產品的Java處理器核心技術。

Sun與東芝公司協議***同開發壹種低功耗的Java化處理器。

Sun發布JavaStudio和JavaWorkShop2.0。

Sun發布JavaSound、JavaAdvancedImaging和JavaInputMethodAPIs。這三種新的應用編程界面使特性豐富的Java平臺獲得額外的功能。

摩托羅拉公司宣布其PowerPC微處理器可運行JavaOS操作系統。

Bull公司獲得用於端對端解決方案的Java技術許可證,適用於智能卡、終端以及POS設備等。

1997年5月

TriTeal公司獲得HotJavaBrowser許可證。

菲利浦智能卡與系統公司獲得包括JavaCard的Java許可證。

蘋果電腦公司宣布將把Java平臺作為其PhapsodyOS操作系統發展戰略的中心組成部分。

Sun推出JDK1.1.2。

1997年6月

三星、3Com等公司獲得JavaOS許可證。

Sun發售JavaWebServer1.0。

Sun設在瑞士日內瓦的Sun新技術應用展示中心啟用,用於展示Java計算解決方案。

Sun推出Java技術API(JTAP)規範1.0,得到Lucent、IBM、Intel、Nortel、Novell等公司的支持。

Sun推出JavaServer工具包。

1997年7月

Sun推出JDK1.1.3。

Addison-Wesley和Sun發布JavaFAQ。

Sun與西門子公司簽署協議,將Java嵌入到智能卡芯片。

Sun發布JavaCard2.0規範。

Sun推出JavaWebServer1.0.1。

Sun與LG半導體公司簽署協議***同開發Java處理器。

Sun合並Diba公司,以加速開發Java化的家用信息產品。

1997年8月

IBM公司獲得SunTestJava測試工具許可證。

截止到8月21日,有61個應用軟件獲得100%純Java認證;另有100多個應用程序等待測試。

Sun發布JavaBlend,這種新技術可使軟件開發者能把Java應用軟件與數據庫自動結合起來。

Sun簽署合並Integrity公司的協議。合並後的Integrity公司加入SunSoft部門,將在面向對象編程、智能卡及虛擬機等方面發揮重要作用。

Alcatel公司、Nortel公司和三星公司選擇PersonalJava作為其網絡電話的標準平臺。網絡電話除電話功能外,還可以發電子郵件,連接因特網和瀏覽萬維網等。

IBM公司、Netscape公司和Sun***同建立壹個新的Java移植和調試中心,以提高Java的性能,保證及時、不斷地向Java開發商和用戶提供Java技術解決方案。來自這三個公司的專家將在該中心攜手工作。

1997年9月

在實時操作系統(RTOS)具領先地位的生產商Acorn公司、Chorus公司、GeoWorks公司、LucentTechnology公司、Microtec公司、Micreware公司、Qnx公司和WindRiverSystem公司獲得在其消費電子產品中使用PersonalJava(個人Java)和EmbeddedJava(嵌入Java)技術的許可證,用以生產具有Java解決方案軟件的消費電子產品(如電視頂置盒、網絡電話、尋呼機等)。

1997年10月

Sun向美國加州地方法院起訴微軟公司違反兩公司就微軟使用Java技術所簽定的合同,指控微軟公司違反了合同中承諾向用戶提供Java兼容產品的條款。Sun要求微軟公司停止侵犯Java兼容標誌,放棄誤導Java開發者、阻礙他們開發完全兼容Java技術的產品的作法。

Sun向公眾公開Sun與微軟公司就開發銷售含有SunJava技術的產品和使用兼容Java標誌的合同文本。

Sun宣布已全面完成JavaCardAPI規範,並上網供用戶下載。

Sun發布世界上第壹個Java微處理器microJava701芯片的技術細節,並將在1998年下半年大批量生產該芯片。

Sun正式推出JavaStudio。這是壹種動態Java創作工具,可使非編程員直觀地編制Java小程序和應用程序。

1997年11月

Sun宣布支持Lotus公司新的純Java化的eSuiteWorkplace辦公軟件。eSuiteWorkplace是第壹個綜合性的"瘦客戶"高效成套軟件,包括字處理、電子表格、電子郵件及日程安排等組成部分,完全用Java語言編寫,可高效運行於JavaStation網絡計算機。

IBM公司、Lotus公司、Oracle公司和Sun宣布***同開發Java化的臺式機規範,這將首次在業界統壹臺式網絡計算環境,使NC和PC能無礙地運行基於單壹規範的任何應用程序,即"網上規範"。

Sun宣布與荷蘭TeleficationBV(壹家硬件、軟件及通信設備認證中心)合作,建立歐洲100%純Java測試認證中心,為歐洲參加100%純Java計劃的公司提供服務。

國際標準化組織11月17日宣布,其第壹聯合技術委員會(JTC-1)以壓倒多數的投票結果,批準Sun公司作為Java公開有效規範(PAS)提案者的申請。在參加投票的24個國家中,20票贊成,2票反對,2票棄權。這將使Java技術走向法律標準。

Java來自於Sun公司的壹個叫Green的項目,其原先的目的是為家用消費電子產品開發壹個分布式代碼系統,這樣我們可以把E-mail發給電冰箱、電視機等家用電器,對它們進行控制,和它們進行信息交流。開始,準備采用C++,但C++太復雜,安全性差,最後基於C++開發壹種新的語言Oak(Java的前身),Oak是壹種用於網絡的精巧而安全的語言,Sun公司曾依此投標壹個交互式電視項目,但結果是被SGI打敗。可憐的Oak幾乎無家可歸,恰巧這時MarkArdreesen開發的Mosaic和Netscape啟發了Oak項目組成員,他們用Java編制了HotJava瀏覽器,得到了Sun公司首席執行官ScottMcNealy的支持,觸發了Java進軍Internet。Java的取名也有壹copy;趣聞,有壹天,幾位Java成員組的會員正在討論給這個新的語言取什麽名字,當時他們正在咖啡館喝著Java(爪哇)咖啡,有壹個人靈機壹動說就叫Java怎樣,得到了其他人的贊賞,於是,Java這個名字就這樣傳開了。

二. Java的現狀

Java是Sun公司推出的新的壹代面向對象程序設計語言,特別適合於Internet應用程序開發,它的平臺無關性直接威脅到Wintel的壟斷地位。壹時間,“連Internet,用Java編程”,成為技術人員的壹種時尚。雖然新聞界的報導有?copy;言過其實,但Java作為軟件開發的壹種革命性的技術,其地位已被確立,這表現在以下幾個方面:1.計算機產業的許多大公司購買了Java的許可證,包括IBM,Apple,DEC,Adobe,SiliconGraphics,HP,Oracel,Toshiba,以及最不情願的Microsoft。這壹點說明,Java已得到了工業界的認可。2.眾多的軟件開發商開始支持Java的軟件產品。例如:Borland公司正在開發的基於Java的快速應用程序開發環境Latte,產品已在1996年中期發布。Borland公司的這壹舉措,推動了Java進入PC機軟件市場。Sun公司自己的Java開發環境JavaWorkshop已經發布。數據庫廠商如:Illustra,Sysbase,Versant,Oracle都在開發CGI接口,支持HTML和Java。今天是以網絡為中心的計算時代,不支持HTML和Java,應用程序的應用範圍只能限於同質的環境(相同的硬件平臺3.Intranet正在成為企業信息系統最佳的解決方案,而其中Java將發揮不可替代的作用。Intranet的目的是把Internet用於企業內部的信息系統,它的優點表現在:便宜,易於使用和管理。用戶不管使用何種類型的機器和操作系統,界面是統壹的Intrnet瀏覽器,而數據庫、Web頁面、應用程序(用Java編的Applet)則存在WWW服務器上,無論是開發人員,還是管理人員,抑或是用戶都可以受益於該解決方案。Java語言正在不斷發展和完善,Sun公司是主要的發展推動者,較通用的編譯環境有JDK(JavaDevelopKit)與JWS(JavaWorkshop)。還有很多其他公司正在開發Java語言的編譯器與集成環境,預計不久Java語言的正確性與效率都將會提高,用戶用Java編程和現在用C++編程更方便。

三.Java語言的特點

Java到底是壹種什麽樣的語言呢?Java是壹種簡單的面象對象的分布式的解釋的健壯的安全的結構中立的可移植的性能很優異的多線程的動態的語言。

1.簡單

Java最初是為對家用電器進行集成控制而設計的壹種語言,因此它必須簡單明了。Java語言的簡單性主要體現在以下三個方面:1.Java的風格類似於C++,因而C++程序員是非常熟悉的。從某種意義上講,Java語言是C及C++語言的壹個變種,因此,C++程序員可以很快就掌握Java編程技術。2.Java摒棄了C++中容易引發程序錯誤的地方,如指針和內存管理。3.Java提供了豐富的類庫。

2.面向對象

面向對象可以說是Java最重要的特性。Java語言的設計完全是面向對象的,它不支持類似C語言那樣的面向過程的程序設計技術。Java支持靜態和動態風格的代碼繼承及重用。單從面向對象的特性來看,Java類似於SmallTalk,但其它特性、尤其是適用於分布式計算環境的特性遠遠超越了SmallTalk。

3.分布式

Java包括壹個支持HTTP和FTP等基於TCP/IP協議的子庫。因此,Java應用程序可憑借URL打開並訪問網絡上的對象,其訪問方式與訪問本地文件系統幾乎完全相同。為分布環境尤其是Internet提供的動態內容無疑是壹項非常宏偉的任務,但Java的語法特性卻使我們很容易地實現這項目標。

4.健壯

Java致力於檢查程序在編譯和運行時的錯誤。類型檢查幫助檢查出許多開發早期出現的錯誤。Java自已操縱內存減少了內存出錯的可能性。Java還實現了真數組,避免了覆蓋數據的可能。這些功能特征大大縮短了開發Java應用程序的周期。Java提供Null指針檢測數組邊界檢測異常出口字節代碼校驗。

5.結構中立

另外,為了建立Java作為網絡的壹個整體,Java將它的程序編譯成壹種結構中立的中間文件格式。只要有Java運行系統的機器都能執行這種中間代碼。現在,Java運行系統有Solaris2.4(SPARC),Win32系統(Windows95和WindowsNT)等.Java源程序被編譯成壹種高層次的與機器無關的byte-code格式語言,這種語言被設計在虛擬機上運行,由機器相關的運行調試器實現執行。

6.安全

Java的安全性可從兩個方面得到保證。壹方面,在Java語言裏,象指針和釋放內存等C++功能被刪除,避免了非法內存操作。另壹方面,當Java用來創建瀏覽器時,語言功能和瀏覽器本身提供的功能結合起來,使它更安全。Java語言在妳的機器上執行前,要經過很多次的測試。它經過代碼校驗,檢查代碼段的格式,檢測指針操作,對象操作是否過分以及試圖改變壹個對象的類型。

6.1Byte-code校驗

如果byte-code通過代碼校驗,沒有返回錯誤,我們可知道:代碼沒有堆棧上溢出和下溢出所有操作代碼參數類型都是正確的沒有發生非法數據轉換,如將整數轉換成指針。訪問對象操作是合法的

6.2類裝載

ClassLoader通過將本機類與網絡資源類的名稱分開,來保持安全性。因為調入類時總要經過檢查,這樣避免了特洛伊木馬現象的出現。從網絡上下載的類被調進壹個與源相關的私有的名字域。當壹個私有類訪問另壹個類時,build-in(本機類)首先被檢查,然後檢查相關的類。這樣就避免了破壞本機類情況的出現。

7.可移植的

同體系結構無關的特性使得Java應用程序可以在配備了Java解釋器和運行環境的任何計算機系統上運行,這成為Java應用軟件便於移植的良好基礎。但僅僅如此還不夠。如果基本數據類型設計依賴於具體實現,也將為程序的移植帶來很大不便。例如在Windows3.1中整數(Integer)為16bits,在Windows95中整數為32bits,在DECAlpha中整數為64bits,在Intel486中為32bits。通過定義獨立於平臺的基本數據類型及其運算,Java數據得以在任何硬件平臺上保持壹致。Java語言的基本數據類型及其表示方式如下:byte8-bit二進制補碼short16-bit二進制補碼int32-bit二進制補碼long64-bit二進制補碼float32-bitIEEE754浮點數double32-bitIEEE754浮點數char16-bitUnicode字符

在任何Java解釋器中,數據類型都是依據以上標準具體實現的。因為幾乎目前使用的所有CPU都能支持以上數據類型、8~64位整數格

  • 上一篇:茅山筆記的小說分卷
  • 下一篇:QQ華夏87級幻師怎麽快速升級?
  • copyright 2024編程學習大全網