※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

1. はじめに

Java™プログラミング言語は汎用の、並行処理が可能で、クラスに基づく、オブジェクト指向な言語です。多くのプログラマーがこの言語を習熟できるように十分に単純に設計されています。Javaプログラミング言語はCやC++と関係がありますが、CやC++のいくつかの特徴を省きその他の言語の特徴を導入するなど、やや異なった構成となっています。Javaは製作のための言語であることを意図されており、研究目的の言語ではありません。そのため、言語デザインに関するC. A. R. Hoareの昔の論文で提案されている通り、新しく未検証な機能の導入はしない設計です。

Javaプログラミング言語は強く静的に型付けられています。本仕様では、コンパイル時に検出が可能であり検出すべきコンパイル時エラーと、実行時に発生するエラーを明確に区別しています。コンパイルとは通常、プログラムをマシン非依存バイトコード表現へ変換することです。実行時には、プログラムの実行に必要なクラスのロードとリンクされ、オプションでマシンコード生成とプログラムの動的最適化が行われ、実際のプログラムの実行が行われます。

Javaプログラミング言語はマシン特有の詳細な表現が言語内で利用できないという点で、比較的高級な言語です。明示的な領域解放(CのfreeやC++のdeleteに相当する)を行う安全なプログラムは記述が複雑になります。それを避けるため、Javaは通常ガーベージコレクターを使用して自動で記憶域を管理します。高い性能を持つガーベージコレクションが実装されており、システムプログラミングやリアルタイムアプリケーションで要求される停止時間を制限することが可能になっています。
言語は配列アクセス時に添え字チェックを行わないような安全ではない構築ができないようになっています。そのような安全でない構築はプログラムが予期しない動作を行う可能性があります。

Javaプログラミング言語は通常、Java™仮想マシン仕様 Java SE 7版に定義されたバイトコード命令セットとバイナリ―形式にコンパイルされます。

1.1. 仕様の構成

1.2. プログラム例

1.3. 記法

1.4. 組込みクラスやインタフェースとの関係

1.5. 参考文献