-
物件導向
-
安全性
-
多執行緒
-
簡單易用
-
開源
-
跨平臺
Java 是開源的.
與 C 和 C++ 不同, Java 規範中沒有 "依賴具體實現" 的地方. 基本資料型別的大小以及有關運算的行為都是明確的.
例如, Java 中的 int 總是 32 位整數, 而在 C 和 C++ 中, int 可能是 16 位整數、32 位整數, 也可能是編譯器開發商指定的任何其他大小. 唯一的限制是, int 型別的位元組數不能低於 short int, 並且不能高於 long int. 在 Java 中, 數值型別有固定的位元組數, 這消除了程式碼移植時一個令人頭痛的主要問題. 二進位制資料以固定的格式進行儲存和傳輸, 消除了有關位元組順序的困擾. 字串則採用標準的 Unicode 格式儲存. 作為系統組成部分的類庫定義了可移植的介面. 例如, 有一個抽象 Window 類, 並給出了面向 UNIX、Windows 和 Macintosh 環境的不同實現.