1. 程式人生 > >Java特性詳解

Java特性詳解

1.間接有效:

Java語言是一種相當簡潔的“面向物件”程式設計語言。Java語言省略了c++語言中所有的難以理解、容易混淆的特性,如標頭檔案、指標、結構、單元、運算子過載、虛擬基礎類等,使得它更加嚴謹、簡潔。

2.可移植性:

對於一個程式設計師而言,寫出來的程式如果不需要經過修改就能夠同時在Windows、MacOS、UNIX等平臺上執行,簡直就是美夢成真的好事!而Java語言就讓這個夢想越來越接近現實。使用Java語言編寫的程式,只要做較少的修改,甚至有時根本不需要就可以在不同的平臺上執行。

3.面向物件:

可以這麼說,“面向物件”是軟體工程學的一次革命,大大提升了人類的軟體開發能力,是一個偉大的進步,是軟體發展的里程碑。

在過去的30年間,“面向物件”有了長足的發展,充分體現了其自身的價值,到現在已經形成了一個包含“面向物件的系統分析”、“面向物件的系統設計”、“面向物件的程式設計”的完整體系。所以作為一種現代程式語言,是不能偏離這一方向的,Java語言也不例外

4.解釋型:

Java語言是一種解釋型語言,相對於c/c++語言來說,用Java語言寫出來的程式效率低,執行速度慢。但它是通過不同平臺上執行Java直譯器,對Java程式碼進行解釋,來實現“一次編寫,到處執行”的巨集偉目標。為了達到目標,犧牲效率還是值得的,況且,現在的計算機技術日新月異,執行速度也越來越快,使用者是不會感到太慢的。

5.適合分散式計算

Java語言是強大的、易於使用的聯網能力,非常適合開發分散式計算的程式。Java應用程式可以像訪問本地檔案系統那樣通過URL訪問遠端物件。

使用Java語言編寫Scoket通訊程式十分簡單,使用它比使用任何其他語言都簡單,而且Java語言還十分適用於公共介面(CGI)指令碼的開發,另外還可以使用Java小應用程式(Applet)、Java伺服器頁面(Java Server Page,JSP)、Servlet等手段來構建更加豐富的網頁。

6.擁有較好的效能

正如前面所說,由於Java是一種解釋型語言,所以它的執行效率就會慢一些,但由於Java語言採用了兩種手段,使得其效能還是不錯的。

(1)      Java語言源程式編寫完成後,先使用Java偽編譯器進行偽編譯,將其轉換為中間碼(位元組碼)再解釋。

(2)      提供了一種“準實時”(Just-in-Time,JIT)編譯器,當需要更快的速度時,可以使用JIT編譯器將位元組碼轉換成機器碼,然後將其緩衝下來,這樣速度就會更快。

7.健壯、防患於未然

     Java語言在偽編譯時,做了許多早期潛在問題的檢查,並且在執行時又多了一些相應的檢查,可以說是一種最嚴格的“編譯器”。它的這種“防患於未然”的手段將許多程式中的錯誤扼殺在搖籃中。經常有許多在其它語言中必須通過執行才回暴露出來的錯誤,在編譯階段就被發現了。另外,在Java語言中,還具備了許多保證程式穩定、健壯的特性,有效地減少了錯誤,這使得Java應用程式更加健壯。

8.具有多執行緒處理能力

執行緒,是一種輕量級程序,是現代程式中必不可少的一種特性。多執行緒處理能力使得程式能夠具有更好的互動性、實時性。

Java在多執行緒處理方面效能超群,具有讓設計者驚喜的強大工程,而且在Java語言中進行多執行緒處理很簡單。

9.具有較高的安全性

由於Java語言設計時的安全方面考慮的很仔細,做了許多探究,使得Java語言成為目前最安全的一種程式設計語言。

儘管SUN公司曾經許諾過“通過Java可以輕鬆構建出防病毒、防黑客的系統“,但”世界上沒有絕對的安全系統“這一真理是不會因為某人的許諾而失靈驗的。

就在JDK(Java Development Kit)1.0釋出不久後,美國Princeton(普林斯頓)大學的一組安全專家發現了Java1.0安全特性中的第一列錯誤。從此,Java安全方面的問題開始被關注。不過至今所發現的安全隱患都很微不足道,而且Java開發組還宣稱他們對系統安全方面的Bugs非常重視,會對這些被發現的Bugs立即進行修復。

由於SUN公司開放了Java編譯器的細節,這有助於通過各界的力量共同發現、防範、制止這些安全隱患。

10.是一種動態語言

Java是一種動態語言,這表現在以下兩個方面:

(1)      在Java語言中,可以簡單、直觀的查詢執行時的資訊。

(2)      可以將新程式碼加入到一個正在執行的程式中去。

11.是一種中性結構

“Java編譯器生成的是一種中性的物件檔案格式“。也就是說,Java編譯器通過偽編譯後,將生成一個與任何計算機體系無關的”中性“的位元組碼。

這種中性結構其實並不是Java首創的,在Java出現之前,UCSD Pascal系統就已在一種商業產品中做到了這一點,另外在UCSD Pascal 之前也有這種方式的先例,在Niklaus Wirth實現的Pascal語言中就採用了這種降低一些效能來換取更好的可移植性和通用性的方法。

Java的這種位元組碼經過了許多精心的設計,使得其能夠很好地兼容於當今大多數流行的計算機系統,在任何機器上都易於解釋、易於動態翻譯成為機器程式碼。

清楚了以上主要特點之後,下面再來看一下Java語言的執行機制。首先計算機高階語言類 型主要有編譯型和解釋型兩種,Java是兩種型別的集合。