📑

プログラミング自主学習 DAY2 プログラミング/Javaプログラムの作動原理 /Javaの特徴/Javaのインストール

2023/06/14に公開

プログラミングとは?

コード(code)を作成しソフトウェアの設計図を作ることである。 コードとソース(source)はほぼ同じ概念である。

プログラミングの流れ


参照: Youtube '생활코딩' 자바 3강

  1. OS[1]にJava(Programming language)をインストールする。
  1. JavaでSource Codeを作成する。

  2. 作成されたSource CodeをもとにJavaがJava Program(Application)を作成する。

  3. JVMがProgramをそのOSが理解できるコンピューター言語(Native Code)に変換する。

  4. OSはハードウェア(音、画面も含める)など活用し、プログラムを実行(出力)する。

Javaプログラムの作動原理


参照 : Youtube '생활코딩' , JAVA1 - 4.2. 실행 - Java의 동작원리

  1. JavaでSource Code.javaを作成する。

  2. 作成されたSource Codeをコンピューターが理解できるようにJava Application.ClassにCompileする。

Javaの場合、 JB(Java Bitecode)というコードにcompileされる。
Kotlin, Scala, Groovy, Clojure などもJBにcompileされるため、
Kotlinを使ってもAndroidやSpring bootのプログラミングが可能である。



参照: Youtube '얄팍한 코딩사전', 자바를 알아보자 (+ JVM, JRE, JDK의 정체)

  1. Compiled Application(Program)をJVMが読み込み、もう一度そのOSの言語に変換する。

  2. OSに命令する。

  3. OSがハードウェアを通してApplication(Program)を具現(動作)させる。 パソコンのスクリーンや音などでプログラミングもしくはアプリを具現する。

Javaの特徴

Compiled language (C,C++,Java)

Compiled languageは Interpreted languageと比較して、
事前に翻訳版を作らなければならない手間がかかるが、
パソコンが理解できるように翻訳されているため
エラーが少なく、実行時間が速い。

Interpreted language (Python)

事前に翻訳版を作らずリアルタイムで通訳される言語である。
Compiled languageとは長所と短所が真逆である。

Java 用語

1. Java SE (Java Platform, Standard Edition)

Javaの文法、構成を定義するJavaの標準である。
簡単に言えば、Java言語のルール。
Javaを利用している様々なVendor(Oracle, IBM, Open JDK)はJava SEを基にJVMを作成する。

2. JDK(Java Development Kit)

Javaを活用した開発に必要なツールと、 JBにCompileするCompilerが含まれているツール。
JREも含まれており、開発者が利用するツールである。
プログラミングにおいてテストやバグを発見、修正には Debuggerがある。
また、Compileされたソースコードを外部に出すためのJar toolもある。
その他、JBの構成や作業を観察するためのProfiling toolも含まれている。
開発者志望であればJDKをインストールする必要がある。

3. JRE (Java Runtime Environment)

Javaで作成されたプログラムを起動するための環境を提供する。
JVMとLibraryが含まれている。
JVMがOSとの懸け橋として機能し、そのOSの言語に対応できるシェフのような存在であれば、
ライブラリは料理のレシピブック、ミールきっとようなもので、厄介なプロセスを短縮するものでもある。概念的にはPPTのテンプレートとも似ている。



参照: Youtube '얄팍한 코딩사전', 자바를 알아보자 (+ JVM, JRE, JDK의 정체)

4. JVM (Java Virture Machine)

Javaの実行を可能にする仮想マシン。
どのOSであれ、JVMをインストールするだけでCompile問題が解決する。
JVMはJDKのCompilerを通じてCompileされたJBを
各OSの機械語に翻訳する懸け橋の役割を果たす。



参照: Youtube '얄팍한 코딩사전', 자바를 알아보자 (+ JVM, JRE, JDK의 정체)


Cの場合、 OSによって言語が異なるため、OSに合わせて翻訳する手間がある反面、
JavaはJVMによって対応できるため、そのような手間がなくなる。


参照: Youtube '생활코딩' 자바 3강

5. Java EE

Java SEを基盤にした企業向けのJava開発環境である。

6. Java ME

モバイル開発に使用されるJavaである。


Java インストール

コマンドプロンプト(window+R) を開き、以下のコマンドを実行する。

java: いくつが情報が表示されればインストール完了である。
javac: javaのコンパイラの命令語が分かる。
java -version: インストールしたjavaのバージョンを確認できる。
javac -version: インストールしたjavaのコンパイラのバージョンを確認できる。


インストールが失敗した場合は、再度インストールする方法や設定を変更する方法がある。
設定を変更する際には、システム変数のパスpath(パス)を確認する。


Javaを実行するためには、CMDを介してjava.exejavac.exeが存在するディレクトリ(アドレス)が必要になる。そのようなディレクトリはパスである。


通常はprogram files➡java➡jdk➡binにあるため、そのディレクトリをパスとして追加する。



Open source(オープンソース)とは?

無料で公開されたソフトウェアのソースコード。
開発者はオープンソースコードを活用し、
修正して多様なプログラミングに活用することができる。

これにより、初期開発のコストや参入障壁を下げることが可能である。
世界のフォーチュン500社のうち、99%がオープンソースを使用しており、
Google、Netflix、FacebookもOpen source文化に積極的に参加している。

ただし、オープンソースは非営利のため、
独占コードほどのロードマップを持っていない場合があり、
オープンソースを使って問題が発生しても支援の義務がないため、安定性には注意が必要である。

脚注
  1. OS(Operation System): windows, linux, OSX

    ↩︎

Discussion