oracle Java bronzeへの道①

☆Javaは強い静的型付け言語!
プログラミング言語
→静的言語:変数や式が型情報を持つためコンパイル時(実行前)に決定
→動的言語:データ自身が型情報を持つためプログラムの実行時に決定

☆Javaはシングルプロセス+マルチスレッドで並行処理を実現するが、JVAが判断するためプログラムで並行処理を完全に制御できるわけではない!
プロセス:アプリが起動するときにOSから割り当てられたメモリ空間のことで、ほぼアプリケーションそのものと考えられる。
マルチプロセス:アプリ(プロセス)を複数同時に起動しOSが交互に切り替えながら実行することで並列処理を実現する。マルチスレッドより起動に時間がかかるし、リソースを多く必要とするが制限は受けないし、プログラムはシンプル。
スレッド:プロセス内で実行される一連の処理の流れのこと。
マルチスレッド:一つのアプリ(プロセス)内で複数の処理の流れが並行に実行されることで並行処理を実現する。パフォーマンスに優れるが、リソースの制限を受けるし、プログラムが複雑化しやすい。

☆Javaは実行時コンパイル方式!
プログラムの実行方式
→事前コンパイル:ソースコードをあらかじめコンパイルする。高速で実行できるが、専用コードであるため、対象OS以外では実行できない。
→インタープリタ方式:インタープリタという仲介アプリを使用し、実行時にコンパイルする。効率が悪く実行速度が落ちるが、OS毎にインタープリタを用意すれば特定のプラットフォームやOSに依存しない。
→実行時コンパイル方式:ソースコードを事前にバイトコードに変換しておくインタープリタ方式の一つ。Javaはこれを採用したHotspot VMという技術をJVMに導入して、パフォーマンスを低下しにくくしている。実行時ファイルは作らない。
Javaはなぜインタープリタ方式?
・Write Once ,Run Anywhereを実現
・ガベージコレクションにやってメモリ管理が自動化できる
・セキュリティが向上する

public static void main(String[] args)
エントリーポイントとなるメソッドの定義
・publicで公開されていること
・staticでインスタンスを生成しなくても実行できること
・voidで戻り値がないこと
・メソッド名はmainであること
・引数はString配列型もしくはString型の可変長引数であること
・同じシグニチャ(名前と引数)のメソッドを複数記述しないこと

☆ソースファイルのルール
・publicなクラスやインターフェース、列挙型は一つしか記述してはいけない
・ソースファイルの名称はpublicなものと一致させる
・public以外のアクセス修飾子をもつものなら複数記述可能(非推奨)

☆Java SEは基本セット!

☆Java EEは企業用!
SE+拡張

☆Java MEは多種多様!
SEから必要なAPIを抜き出し

この記事が気に入ったらサポートをしてみませんか?