jvav

jvav

java是一種面向對象的程式語言。Java是一個廣泛使用的網路程式語言,它是一種新的計算概念。 Java是一個廣泛使用的網路程式語言,它是一種新的計算概念。首先,作為一種程式設計語言,它簡單、面向對象、不依賴於機器的結構、具有可移植性、魯棒性、安全性、並且提供了並發的機制、具有很高的性能。其次,它最大限度地利用了網路,Java的小應用程式(applet)可在網路上傳輸而不受CPU和環境的限制。另外,Java還提供了豐富的類庫,使程式設計者可以很方便地建立自己的系統。

java的介紹

java 是一種面向對象的程式語言。Java是一個廣泛使用的網路程式語言,它是一種新的計算概念。

Java是一個廣泛使用的網路程式語言,它是一種新的計算概念。首先,作為一種程式設計語言,它簡單、面向對象、不依賴於機器的結構、具有可移植性、魯棒性、安全性、並且提供了並發的機制、具有很高的性能。其次,它最大限度地利用了網路,Java的小應用程式(applet)可在網路上傳輸而不受CPU和環境的限制。另外,Java還提供了豐富的類庫,使程式設計者可以很方便地建立自己的系統。

Java語言

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通過接口來支持多重繼承,使之比嚴格的類繼承具有更靈活的方式和擴展性。

JavaApplet

Java語言的特性使它可以最大限度地利用網路。Applet是Java的小應用程式,它是動態、安全、跨平台的網路應用程式。JavaApplet嵌入HTML語言,通過主頁發布到Internet。網路用戶訪問伺服器的Applet時,這些Applet從網路上進行傳輸,然後在支持Java的瀏覽器中運行。由於Java語言的安全機制,用戶一旦載入Applet,就可以放心地來生成多媒體的用戶界面或完成複雜的計算而不必擔心病毒的入侵。雖然Applet可以和圖像、聲音、動畫等一樣從網路上下載,但它並不同於這些多媒體的檔案格式,它可以接收用戶的輸入,動態地進行改變,而不僅僅是動畫的顯示和聲音的播放。

豐富的類庫

Java提供了大量的類以滿足網路化、多執行緒、面向對象系統的需要。

1.語言包提供的支持包括字元串處理、多執行緒處理、例外處理、數學函式處理等,可以用它簡單地實現Java程式的運行平台。

2.實用程式包提供的支持包括哈希表、堆疊、可變數組、時間和日期等。

3.輸入輸出包用統一的"流"模型來實現所有格式的I/O,包括檔案系統、網路、輸入。

4.低級網路包用於實現Socket編程。

5.抽象圖形用戶接口包實現了不同平台的計算機的圖形用戶接口部件,包括視窗、選單、滾動條、對話框等,使得Java可以移植到不同平台的機器。

6.網路包支持Internet的TCP/IP協定,提供了與Internet的接口。它支持URL連線,WWW的即時訪問,並且簡化了用戶/伺服器模型的程式設計。

Java和C、C++

對於變數聲明、參數傳遞、操作符、流控制等,Java使用了和C、C++相同的傳統,使得熟悉C、C++的程式設計師能很方便地進行編程。同時,Java為了實現其簡單、魯棒、安全等特性,也摒棄了C和C++中許多不合理的內容。

全局變數

Java程式中,不能在所有類之外定義全局變數,只能通過在一個類中定義公用、靜態的變數來實現一個全局變數。例如: ClassGlobalVar{publicstaticglobal_var;} 在類GlobalVar中定義變數global_var為publicstatic,使得其它類可以訪問和修改該變數。Java對全局變數進行了更好的封裝。而在C和C++中,依賴於不加封裝的全局變數常常造成系統的崩潰。

Goto

Java不支持C、C++中的goto語句,而是通過例外處理語句try,Catch,final等來代替C、C++中用goto來處理遇到錯誤時跳轉的情況,使程式更可讀且更結構化。

指針

指針是C、C++中最靈活,也是最容易產生錯誤的數據類型。由指針所進行的記憶體地址操作常會造成不可預知的錯誤,同時通過指針對某個記憶體地址進行顯式類型轉換後,可以訪問一個C++中的私有成員,從而破壞安全性,造成系統的崩潰。而Java對指針進行完全的控制,程式設計師不能直接進行任何指針操作,例如把整數轉化為指針,或者通過指針釋放某一記憶體地址等。同時,數組作為類在Java中實現,良好地解決了數組訪問越界這一C、C++中不作檢查的錯誤。

記憶體管理

在C中,程式設計師通過庫函式malloc()和free()來分配和釋放記憶體,C++中則通過運算符new和delete來分配和釋放記憶體。再次釋放已釋放的記憶體塊或未被分配的記憶體塊,會造成系統的崩潰;同樣,忘記釋放不再使用的記憶體塊也會逐漸耗盡系統資源。而在Java中,所有的數據結構都是對象,通過運算符new為它們分配記憶體堆。通過new得到對象的處理權,而實際分配給對象的記憶體可能隨程式運行而改變,Java對此自動地進行管理並且進行垃圾收集,有效防止了由於程式設計師的誤操作而導致的錯誤,並且更好地利用了系統資源。

數據類型的支持

在C、C++中,對於不同的平台,編譯器對於簡單數據類型如int,float等分別分配不同長度的位元組數,例如:int在IBMPC中為16位,在VAX-11中為32位,這導致了代碼的不可移植性,但在Java中,對於這些數據類型總是分配固定長度的位數,如對int型,它總占32位,這就保證了Java的平台無關性。

類型轉換

在C、C++中,可以通過指針進行任意的類型轉換,常常帶來不安全性,而Java中,運行時系統對對象的處理要進行類型相容性檢查,以防止不安全的轉換。

頭檔案

C、C++中用頭檔案來聲明類的原型以及全局變數、庫函式等,在大的系統中,維護這些頭檔案是很困難的。而Java不支持頭檔案,類成員的類型和訪問許可權都封裝在一個類中,運行時系統對訪問進行控制,防止對私有成員的操作。同時,Java中用import語句來與其它類進行通訊,以便使用它們的方法。

結構和聯合

C、C++中的結構和聯合中所有成員均為公有,這就帶來了安全性問題。Java中不包含結構和聯合,所有的內容都封裝在類中。

預處理

C、C++中用宏定義來實現的代碼給程式的可讀性帶來了困難。在Java中,不支持宏,它通過關鍵字final來聲明一個常量,以實現宏定義中廣泛使用的常量定義。

相關詞條

相關搜尋

熱門詞條

聯絡我們