Javaは並列処理が行える汎用目的のオブジェクト指向プログラミング言語。
構文はCやC++に似ているが、これらの言語から複雑で混乱する、そして安全でない言語的特徴を省いたものとなっている。
Javaプラットフォームは当初、ネットワーク接続された民生機器におけるソフトウェア開発の問題を解決するために開発された。このため、さまざまなホスト・アーキテクチャをサポートでき、ソフトウェアコンポーネントを安全に配信できるように設計された。
そのため、ネットワーク経由で配信でき、どのようなクライアント上でも動作でき、クライアントに対する実行時の安全性も保証できることが、コンパイル済みコードに求められた。