今回はJava Bronze資格に向けて基礎知識を学びましょう
・変数や型の扱い方
プログラミング言語は、静的言語と動的言語に分かれます。これらの違いは、変数や
式の型情報の扱い方にあります。
- 静的言語:変数や式の型情報を、コンパイル時に決定する。期待されている型と式の結果の方が合わない場合にはコンパイルエラーが発生する。
- 動的言語:変数や式の型情報を、実行時に決定する。データ自身が型情報を持つため実行時に型がチェックされる。そのため、型の不整合が合った場合は実行時にエラーが発生されます。
・javaの特徴と基礎用語
並行処理:処理を複数同時に実行することで、ソフトウェア全体の処理機能を向上させる
技術のことを言います。
並行処理の実現方法
- 同じアプリケーションを複数実行する
- 1つのアプリケーションを複数の処理でお互いに切り替えて実効する
前者をマルチプロセス、後者をマルチスレッドといいます。
プロセス:アプリケーションが起動するときにOSから割り当てられたメモリ空間の
ことを言います。
スレッド:プロセス内で実行される一連の処理の流れのことを言います。
JVM:JVMとはJava Virtual Machineの略で、Javaのプログラムを動かすために必要なソフトウェアです。JVMは「Java仮想マシン」とも呼ばれ中間コードをプラットフォーム別に、
命令文を変換することができます。これにより様々なOS(プラットフォーム)でプログラム
を使用できます。
・Javaの特徴
人間の自然言語に近い文甫やボキャブラリを使用して記述するコードをソースコードと言います。しかし、機械はソースコードが理解できないため、変換ソフトのコンパイラを使用しコンパイルしてソースコードを機械語に変換します。
プログラムの実行時に「インタープリタ方式」と呼ばれるものがあります。この方式は「インタープリタ」と呼ばれる仲介アプリケーションを使ってソースコードを実行時にコンパイルすることが特徴です。
・Javaがインタープリタ方式を採用した理由
- 特定のプラットフォームやOSに依存しない
- ガベージコレクションによってメモリ管理が自動化できる
- セキュリティが向上できる
インタープリタ方式の一つでソースコードから不要なコードを排除し、パフォーマンスが向上するようにコードを変換しておくことを実行時コンパイル方式と言います。この実行時コンパイラ方式により変換されたコードのことを中間コードといい、また中間コードが記述されたファイルのことをクラスファイルといいます。クラスファイルには実行に最適化された中間コードが記述されています。
・メモリ管理機能について
Javaはガベージコレクションという自動メモリ管理機能を備えています。ガベージコレクションは、確保しておく必要がなくなった領域を自動的に検出し解放する機能を持っています。また、空き領域ができた時にメモリ領域を管理し、空き領域を確保する「コンパクション」という機能もあります。この機能のおかげで効率用くメモリ領域を使うことができます。