Java - Java
■ページ目次
Top
- プログラミング言語
- コンピューターに何らかの処理をさせるときの処理手順を記述するための言語としての側面です。
- ここで決められている文法規則にしたがって、プログラムを記述します。
- プログラム実行環境
- Java言語を使って記述したプログラムを実行させるための環境です。JRE(Java Runtime Envoronement)と略されます。
- これがあることで、Java言語で書かれたプログラムは、プラットフォームに依存しないで実行できるのです。
- 開発環境
- 言語と実行環境だけでは、プログラムを作るのは大変です。また、プログラムはテキスト形式で記述しますが、実際に動かすためにはバイトコードといわれる形式にしなければなりません。そのためのツールも必要です。そして、ライブラリといわれるものもあります。たとえば、文字列をあらわすものがなければ、文字列「Hello」を表示するだけでも大変です。この開発環境は、JDK(Java Develop Kit)として、提供されています。
- JDKには、JavaSE(Standard Edition)、JavaEE(Enterprise Edition)、JavaME(Micro Edition)という種類があります。
Top
- プラットフォーム非依存
- 作成したプログラム・コードはアーキテクチャーに依存しません。
- 「Java仮想マシン(JavaVM、JVM)」あるいは「Javaインタープリタ」とよばれるソフトウェアをとおして実行されます。
- 複数のプラットフォームをサポートしています。
- データ型は標準化されています。
- インタープリタ
- Javaのソース・プログラムは、そのままインタープリタによって処理されるわけではなく、疑似的な「コンパイル」の作業によって、「バイト・コード」に変換されます。
- バイト・コードは人間の言葉の命令を仮想マシン用に符号化したものです。
- JIT(Just In Time)コンパイラと呼ばれる方式では、読み込んだバイト・コードをその場でマシンのハードウェアに合わせたコードに変換します。
- シンプル
- C++言語によく似た構文を持ちます。
- Javaの文法はできるだけシンプルになるように配慮されています。
- 自動ガベージ・コレクタ機能を持っており、プログラマーが直接、メモリー管理を意識することなく、プログラミングできます。
- ポインタ機能を排除しています。
- プログラム・サイズ(バイト・コードのサイズ)が小さいです。
- オブジェクト指向
- オブジェクト指向の完全な実現の方針のもとに設計された言語です。
- Javaプログラムはすべてクラス定義を単位に構成されます。
- JavaVMによるオブジェクト管理の方針もシンプルで首尾一貫しています。
- 分散型
- ネットワーク経由でプログラムを実行できます。
- TCP/IP用のライブラリを用意しています。
- 安定性
- コンパイル・実行時に厳しいエラー・チェックを行います。
- 型のチェックやメモリの不正使用など、バグの原因を早期に検出可能です。
- セキュリティ
- コンパイル、実行時に厳しいチェックがあります。
- SDK1.2 から安全性が高く、しかも柔軟なセキュリティ機能が提供されます。
- 標準的なセキュリティのパッケージがSDKの中に含まれています。
- どんなアプリケーションであってもJavaで開発されている限り、ある一定のレベル以上の安全性が保証されます。
- ネットワークから入手した未知のアプリケーションでも、その安全性のチェックをJavaVMが行う自動的な判定にまかせることができます。
- マルチ・スレッド
- 言語レベルでマルチ・スレッド機能をサポートしています。
- JavaVM自身がスレッドを基本にして動作しています。
- ガーベッジ・コレクションは通常の処理と並列にバックグラウンドで実行されます。
Top
- アプリケーション
- JavaVMによりWindowsやUNIXなどのOS上で実行されます。
- セキュリティー等の制限はなく、通常のプログラムと同じです。
- アプレット
- サーブレット
- Tomcat等のサーブレット(Servlet)をサポートするWWWサーバー上にクラス・ファイルを置き、サーバーからの呼び出しに応じてサーバー側で実行されるアプリケーションです。
- 一度呼び出されるとWWWサーバに常駐してクライアントの要求に応じてHTMLページを作成します。
- CGIに似た機能を実現します。
- WWWとデータベース連携などに利用されます。
- JSP等のサーブレットを作りやすくする仕組みも用意されています。
Top
Javaアプリケーション |
Java API |
基本クラス |
AWTクラス |
ネットワークとI/Oクラス |
Java実行時環境(プラットフォーム非依存) |
Java実行時環境(プラットフォーム依存) |
ホスト・オペレーティング・システム |
図 実行環境
Top
- Java2 SDK
- Javaプログラムの開発には、Java2 Software Development Kitという開発環境が必要です。
- Java2 SDKには、コンパイラー、インタープリター、ライブラリーなどが含まれています。
- J2SE(Java 2 Platform, Standard Edition)
- Java Core API と Java RMI、CORBA API、Java Accessibility API、Swing などで構成され、パソコンなどのデスクトップ環境向けです。
- J2EE(Java 2 Enterprise Edition)
- J2SE をベースに、Java Servlet、JSP(JavaServer Pages)、EJB(Enterprise JavaBeans)などで構成され、企業の基幹システムなど、エンタープライズ・システム環境向けです。
- J2ME(Java 2 Platform, Micro Edition)
- J2ME Core API をベースに、ネットワーク常時接続向けのCDC(Connected Device Configuration)や、携帯電話のような携帯型ネットワーク情報機器向けCLDC(Connected, Limited Device Configuration)で構成され、パソコンに比べ、少ないメモリ、低速なCPU、小さな画面、といった限られたリソース上で動くことが要求される環境向けです。
- iアプリのサンプル
Top