理解
對JavE的的理解如下:它一個工具,一個用純java語言寫的跨平台的,一個通用的Ascii碼圖形化的文本編輯器。其功能和微軟的記事本有些類似,主要是一個字處理工具,但提供圖形化輸入;操作像是微軟的畫圖軟體,因為該軟體主要是通過滑鼠進行文本的編輯。
進一步看了一下該軟體的功能,操作和功能並不複雜。該軟體主要的賣點是授權開發原始碼方式,其用百分之百java語言開發的跨平台特點。
歷史
1991年 ,SUN MicroSystem公司的 Jame Gosling、 Bill Joe等人 ,為在電 視、控制烤麵包箱等家用消費類電子產品上進行互動式操作而開發了一個名為Oak 的軟體 (即一種橡樹的名字 ),但當時並沒有引起人們的注意 ,直到 1994年下半 年 ,Internet的迅猛發展 ,環球信息網 WWW的快速增長 ,促進了Java語言研製的 進展 ,使得它逐漸成為 Internet上受歡迎的開發與程式語言 ,一些著名的計算機 公司紛紛購買了 Java語言的使用權 ,如 IBM、Oracle、 Netscape、 Novell、 Apple等 ,因此 ,Java語言被美國的著名雜誌 PC Magazine評為 1995 年十大優秀科技產品 ,(計算機類就此一項入選 ),隨之大量出現了用Java編寫的 軟體產品 ,受到工業界的重視與好評 ,認為 "Java是八十年代以來計算機界的一件 大事 ",微軟總裁比爾·蓋茨在悄悄地觀察了一段時間後 ,不無感慨地說 :"Java是 長時間以來最卓越的程式設計語言 ",並確定微軟整個軟體開發的戰略從 PC單機時 代向著以網路為中心的計算時代轉移 ,而購買 Java則是他的重大戰略決策的實施部署。
因此 ,Java的誕生必將對整個計算機產業發生深遠的影響 ,對傳統的計算模型提出了新的挑戰。
前景
Java語言有著廣泛的套用前景 ,大體上可以從以下幾個方面來考慮其套用 :
1. 所有面向對象的套用開發 ,包括面向對象的事件描述、處理、綜合等 ;
2. 計算過程的可視化、可操作化的軟體的開發 ;
3. 動態畫面的設計 ,包括圖形圖像的調用 ;
4. 互動操作的設計 (選擇互動、定向互動、控制流程等 );
5. Internet的系統管理功能模組的設計 ,包括Web頁面的動態設計、管理 和互動操作設計等 ;
6. Intranet(企業內部網 )上的軟體開發(直接面向企業內部用戶的軟體 );
7. 與各類資料庫連線查詢的 SQL語句實現 ;
8. 進行手機通訊和其他的一些嵌入式的開發(比如手機和網路遊戲)
9. 其它套用類型的程式。
特點
Java是一個廣泛使用的網路程式語言,它是一種新的計算概念。
首先 ,作為一種程式設計語言,它簡單、面向對象、不依賴於機器的結構、 具有可移植性、魯棒性、安全性、並且提供了並發的機制、具有很高的性能。其 次 ,它最大限度地利用了網路 ,Java的小應用程式(applet)可在網路上傳輸而 不受 CPU和環境的限制。另外 ,Java還提供了豐富的類庫 ,使程式設計者可以很 方便地建立自己的系統。
下面我們分別從這三個方面來討論 Java的特點 ,然後通過把Java與 C, C++相比進一步指出它所具有的優點。
Java語言有下面一些特點 :簡單、面向對象、分散式、解釋執行、魯棒、 安全、體系結構中立、可移植、高性能、多執行緒以及動態性。
簡單性
Java語言是一種面向對象的語言 ,它通過提供最基本的方法來完成指定的 任務 ,只需理解一些基本的概念 ,就可以用它編寫出適合於各種情況的套用程 序。 Java略去了運算符重載、多重繼承等模糊的概念 ,並且通過實現自動垃圾 收集大大簡化了程式設計者的記憶體管理工作。另外 ,Java也適合於在小型機上運 行 ,它的基本解釋器及類的支持只有 40KB左右 ,加上標準類庫和執行緒的支持也 只有 215KB左右。庫和執行緒的支持也只有 215KB左右。
面向對象
Java語言的設計集中於對象及其接口 ,它提供了簡單的類機制以及動態的 接口模型。對象中封裝了它的狀態變數以及相應的方法 ,實現了模組化和信息 隱藏 ;而類則提供了一類對象的原型 ,並且通過繼承機制 ,子類可以使用父類 所提供的方法 ,實現了代碼的復用。
分布性
Java是面向網路的語言。通過它提供的類庫可以處理TCP/IP協定,用戶 可以通過 URL地址在網路上很方便地訪問其它對象。
魯棒性
Java在編譯和運行程式時 ,都要對可能出現的問題進行檢查 ,以消除錯誤 的產生。它提供自動垃圾收集來進行記憶體管理,防止程式設計師在管理記憶體時容易 產生的錯誤。通過集成的面向對象的例外處理機制 ,在編譯時,Java提示出可能 出現但未被處理的例外 ,幫助程式設計師正確地進行選擇以防止系統的崩潰。另外,Java在編譯時還可捕獲類型聲明中的許多常見錯誤 ,防止動態運行時不匹配問題 的出現。
安全性
用於網路、分布環境下的Java必須要防止病毒的入侵。 Java不支持指針, 一切對記憶體的訪問都必須通過對象的實例變數來實現 ,這樣就防止程式設計師使用 "特洛伊 "木馬等欺騙手段訪問對象的私有成員 ,同時也避免了指針操作中容易 產生的錯誤。
體系結構中立
Java解釋器生成與體系結構無關的位元組碼指令 ,只要安裝了 Java運行時 系統 ,Java程式就可在任意的處理器上運行。這些位元組碼指令對應於 Java虛擬 機中的表示 ,Java解釋器得到位元組碼後 ,對它進行轉換 ,使之能夠在不同的平 台運行。
可移植性
與平台無關的特性使 Java程式可以方便地被移植到網路上的不同機器。 同時 ,Java的類庫中也實現了與不同平台的接口 ,使這些類庫可以移植。另外,Java編譯器是由 Java語言實現的 ,Java運行時系統由標準 C實現 ,這使得Java 系統本身也具有可移植性。
解釋執行
Java解釋器直接對 Java位元組碼進行解釋執行。位元組碼本身攜帶了許多 編譯時信息 ,使得連線過程更加簡單。
高性能
和其它解釋執行的語言如 BASIC、 TCL不同 ,Java位元組碼的設計使之能 很容易地直接轉換成對應於特定CPU的機器碼,從而得到較高的性能。
多執行緒
多執行緒機制使應用程式能夠並行執行,而且同步機制保證了對共享數據 的正確操作。通過使用 多執行緒 ,程式設計者可以分別用不同的執行緒完成特定 的行為 ,而不需要採用全局的事件循環機制 ,這樣就很容易地實現網路上的實 時互動行為。
動態性
Java的設計使它適合於一個不斷發展的環境。在類庫中可以自由地加入 新的方法和實例變數而不會影響用戶程式的執行。並且 Java通過接口來支持多重繼承,使之比嚴格的類繼承具有更靈活的方式和擴展性。
架構
與J2SE和J2EE相比,J2ME總體的的運行環境和目標更加多樣化,但其中每一種產品的用途卻更為單一,而且資源限制也更加嚴格。為了在達到標準化和兼容性的同時儘量滿足不同方面的需求,J2ME的架構分為Configuration、Profile和Optional Packages(可選包)。它們的組合取捨形成了具體的運行環境。
Configuration主要是對設備縱向的分類,分類依據包括存儲和處理能力,其中定義了虛擬機特性和基本的類庫。已經標準化的Configuration有- Connected Limited Device Configuration(CLDC)和Connected Device Configuration(CDC)。
Profile建立在Configuration基礎之上,一起構成了完整的運行環境。它對設備橫向分類,針對特定領域細分市場,內容主要包括特定用途的類庫和API。CLDC上已經標準化的Profile有Mobile Information Device Profile(MIDP)和Information Module Profile(IMP),而CDC上標準化的Profile有Foundation Profile(FP)、Personal Basis Profile(PBP)和Personal Profile(PP)。
可選包獨立於前面兩者提供附加的、模組化的和更為多樣化的功能。目前標準化的可選包包括資料庫訪問、多媒體、藍牙等等。