作為一個程式語言來說,Java 有許多重要的特性:
Java 語言在設計的時候,參考了一些程式語言(例如C/C++),移去了一些程式語言中較為複雜或不容易掌控的部份,例如 Java 中沒有指標(Pointer),不允許您直接對記憶體位址進行操控,因為指標的使用相當複雜,程式設計人員必須小心的使用指標。
Java 程式語言僅允許程式設計師利用物件參考(Objectreference)來操控物件,和使用垃圾收集(Garbage collector)來監視和移除已經不再被參考的物件,另一方面,Java 中對字串的處理更為簡單,而一些語法與 C/C++類似,這使得在學習 Java 語言時更易於上手。
物件導向是一種思考如何解決問題的方式,Java 的語言模型可以支持使用物件導向的思考方式來撰寫程式,例如您可以使用 Java 語言定義一個類別,使用 Java 語言來實現繼承的機制等。
了解物件導向的精神並以物件導向的方式來設計、撰寫程式並不容易,而且需要經驗的累積,在學習 Java 語言的同時,必須同時學習物件導向的思考方式,如此學來才可以事半功倍。初學者可藉由練習教材中的程式,並從有經驗的開發人員所撰寫的程式中觀摩學習,慢慢了解物件導向的精髓。
Java所撰寫的程式必須運行於Java執行環境中,Java執行環境採取了一些安全措施來保護程式不受攻擊,例如:
要使用Java撰寫具多執行緒功能的程式是簡單的,也就是讓您的程式可以同時間處理兩件以上的事情,例如您可以一邊列印文件,一邊從資料庫中讀出資料,另一方面繼續從網路上傳送檔案。
大多數的語言在撰寫程式時,假如要在不同類型的電腦平台(Computing platform)(像是不同的 CPU 或不同的作業系統)上執行時,就必須要在程式中作大幅的修正。平台相依(Platform-dependence)是因為大多數的語言要求你必須在不同平台上寫適合的程式碼。
Java 程式在撰寫時要編寫一個副檔名為*.java 的純文字檔案,之後透過編譯器(Compiler)將之編譯為*.class 的位元碼(byte-code)檔案,位元碼檔案與平台沒有相依性,為了載入並執行這個位元碼檔案,您的電腦(或設備)上必須有 Java 虛擬機器(JVM),JVM 負責載入相關的 Java 類別、直譯 Java 位元碼為平台相依的原生碼(Native code)、及執行 Java 的程式。
提示
Java 技術通常會被當作是一個平台,因為它具有完成底層作業和 CPU 所有工作的能力。這就是為何有些人提議電腦的 CPU 只需要了解位元碼。Sun Microsystems曾經開發過這種電腦的原型,稱為 JavaStation。