[javasterdi]2Javaベース(1)


2021-java-study


2021 Java学習2週目課題

Javaベース


JVMとは?

Java Virtual Machine(자바 가상 기계)의 약자를 따서 줄여 쓰는 용어
  • javaバイトコードを実行する本体
  • JavaとOSの間で仲介者として機能する
  • オペレーティングシステム、
  • メモリ管理、Garbage Collection
  • を実行
  • スタックベースの仮想マシン
  • コンパイル方法

    사람이 이해하는 언어를 기계어로 바꾸는 과정
    자바 소스코드(.java)를 자바 바이트코드(.class)로 변경 
    |javacコマンドの使用

    |チェックリスト

    実行方法

    $ java  파일명

    バイトコードとは

    가상 컴퓨터에서 작동하도록 만든 이진코드
  • 命令サイズは1バイト
  • である.
  • 拡張子は.class
  • Java仮想マシンをインストールするだけで、どのオペレーティングシステムでも
  • を実行できます.

    JITコンパイラは何ですか。どのように動作していますか。

    Just-In_Time 의 약자로 프로그램을 실제 실행하는 시점에 기계어로 번역
  • JITコンパイラJREの
  • プログラムを起動し、コードをコンパイルしてJITコンパイラ
  • を実行する

    JITコンパイラとinterpreter

  • 割り込み方式は、解析命令ごとに処理されるため、コード全体を実行する際に実行速度が遅い.JITコンパイラはクラスファイルをマシンとして一度にコンパイルして使用するため、コード実行速度はinterpreterより
  • 速い.
  • ですが、初期実行フェーズでは、コンパイルプロセスのため、初期実行速度が遅くなる可能性があります.
  • JVMコンポーネント

    1. Class Loader (클래스로더)
    2. Execution Engine (실행 엔진)
    3. Garbage Collector
    4. Runtime Data Area 

    Class Loader

  • Javaコンパイラによってバイトコードに変換するクラスを取得し、メモリに格納する
  • .

    Execution Engine

  • Class Loaderによって格納されたクラスをマシンに変換して実行するロール
  • はInterpreterで運転することも、JITで
  • で運転することもできる.

    Garbage Collector

  • Heap領域で作成された参照されていないオブジェクトを検索および削除するためのロール
  • Runtime Data Area

  • JVMのメモリ領域で、Javaアプリケーションの実行時に使用するデータを格納

    JDKとJREの違い


    JDK

    Java Development Kit - JRE와 개발툴
  • Java開発ツール
  • JREおよび開発に必要なツール(javac、java)
  • oracle JDK、OpenJDKなどが使用されるが、通常oracle JDK
  • が使用される.

    JRE

    Java Runtime Environment - JVM과 라이브러리
  • Java実行環境
  • JVM Javaプログラムの実行に必要なライブラリファイルなど
  • ランタイム環境
  • JVMの実装ロール