1、Java是簡單的
Java與C++極為相似,但卻簡單得多。進階程式設計語言的所有特性中,不是絕對需要的都已刪去了。例如,Java沒有算符過載、標題檔案、預先處理、指標運算、結構、聯合、多維陣列、模板及隱式類型變換。如果你知道一點C、C++或Pascal,你很快就會駕馭Java。這裡是一個簡單的JavaHelloWorld程式:
以下是引用片段: public class HelloInternet { public static void main(String argv[]) { System.out.println("Hello Internet!"); } } |
2、Java是物件導向的
Java是一種物件導向的程式設計語言。除了簡單的類型,如數字和布爾運算元之外,Java中的大部分都是對象。
正如任何物件導向的語言一樣,Java代碼也按類組織。每個類定義一組規定對象行為的方法。一個類可以繼承另一個類的行為。在類的根層次上,通常是類對象。
Java支援單繼承類階層。這就是說,每個類一次只能繼承一個別的類。有些語言允許多繼承性,但這可能造成混亂,使語言不必要地複雜化。例如,難以想像,一個對象會繼承兩個完全不同的類的行為。
Java還支援摘要類的介面。這允許編程人員先定義介面的方法,而不必急於馬上確定方法的實現。一個類可以施行多個介面,從而具有真正多繼承性的許多優點。一個對象也可實施任意數量的介面。Java介面與IDL介面極其相似。很容易建立IDLJ編譯器。這就是說,Java可用於CORBA對象系統來建立分布式對象系統。鑒於在許多電腦系統中都採用IDL介面和CORBA對象系統,這種相容性是重要的。
3、Java是靜態類型的
在一個Java程式中,必須定義所用對象(數字、字元、數組等)的類型。這有助於編程人員很快發現問題,因為當程式編譯時間可以檢測類型錯誤。
不過,Java系統中的對象也有動態類型。要求一個對象為動態類型往往是可能的,所以編程人員寫的程式可以對不同類型的對象做不同的事。
4、Java是編譯型的
當運行Java程式時,它首先被編譯成位元組代碼。位元組代碼非常類似於機器指令,所以Java程式非常高效。然而,位元組代碼並不專對一種特定的機器,所以Java程式無需重新編譯便可在眾多不同的電腦上執行。
Java來源程式被編譯成類檔案,它相當於程式的位元組代碼錶現。在一個Java類檔案中,所有對方法及執行個體變數的參照均按名進行,並在第一次執行代碼時加以分辨。這使得代碼更通用,更不易受修改的影響,而仍具高效。
5、Java是體繫結構中立的
Java語言對每種電腦都一樣。比如,簡單的類型都是不變的:整數總是32位,長整數總是64位。令人奇怪的是,諸如C及C++等時髦的程式設計語言卻不是這樣。由於這些語言定義如此自由,每種編譯器及開發環境便各有不同了,這使程式的移植成為討厭的問題。Java程式的移植卻很容易,而且不需要進行重新編譯。
6.Java是健全的
Java程式不可能造成電腦崩潰。Java系統仔細檢測對記憶體的每次訪問,確認它是合法的,而且不致引起任何問題。
不過,即使Java程式也可能有錯誤。如果出現某種出乎意料之事,程式不會崩潰,而把該例外拋棄。程式會發現這類例外,並加以處理。
傳統的程式可以訪問電腦的全部記憶體。程式可能(無意識地)修改記憶體中的任何值,這就會造成問題。Java程式只能訪問記憶體中允許它們訪問的那些部分,所以Java程式不可能修改不擬修改的值。
7、Java是小巧的
由於Java的設計是要在小的電腦上運行,作為一種程式設計語言來說其系統是相對較小的。它能有效地在4MB以上RAM的PC機上運行。Java翻譯器只佔用幾百KB。這種翻譯器對Java的平台無關性和可移植性是可靠的。
由於Java很小,它對記憶體很小的電腦,如基於Java的PC機,以及電視機、烤箱、電話機及家用電腦等,是很理想的。
8、Java是多線程的
Java程式可以執行一個以上的線程。比如,它可以在一個線程中完成某一耗時的計算,而其它線程與使用者進行互動對話。所以使用者不必停止工作,等待Java程式完成耗時的計算。
在多線程環境中的編程通常是困難的,因為許多東西可能同時出現。但是,Java提供了便於使用的同步特性,使編程更為方便。
Java線程通常被映射為實際的作業系統線程,只要底層作業系統支援這種映射。因此,用Java寫的應用程式可說是“MP熱”。這就是說,如果它們在多處理器機器上運行,它們更將表現不凡。
9、Java是可收集無用的儲存單元的
用C及C++寫軟體的編程人員必須仔細跟蹤所用的記憶體塊。當一個塊不再使用時,他們務必讓程式釋放它,從而方可再用。在大的項目中,這可能很困難,並往往成為出錯和記憶體不足的根源。
在Java的情況下,編程人員不必為記憶體管理操心。Java系統有一個叫做“無用單元收集器”的內建程式,它掃描記憶體,並自動釋放那些不再使用的記憶體塊。
10、Java是快速的
Java比典型的指令碼語言大為有效,但它比C慢20倍。這對大多數應用是可接受的。不久的將來,代碼產生器就可供利用了,這將使Java程式幾近於用C或C++編寫的程式那麼快。
11、Java是安全的
Java程式沒有指標,而且象這樣的位元組代碼程式強在類型上,所以在執行之前它可能驗證Java程式。被驗證的Java程式得以保證不突破Java語言的任何限制,而且可以安全地執行。Java位元組代碼驗證被Web瀏覽器用來確保小程式不含病毒。
12、Java是可擴充的
Java程式可與用其它語言編寫的現存程式庫串連。由於Java資料結構與C的資料結構的類型極為相似,這是相當方便的。最大的問題在於,現有多線程程式庫為數不多。
Java程式可以聲明某些方法是內部的,然後,把這些內部方法映射成軟體庫所定義的功能,從而動態地連結到虛擬機器。