0
0

More than 3 years have passed since last update.

初心者の単語No4(Javaコマンド、JVM)

Last updated at Posted at 2020-05-22

フィールド
・クラスで宣言した変数名
・レコードを抗セする単位。
(その他の意味 分野・領域など)

javaコマンド

Javaアプリを起動するコマンド。
(Javaプログラムを実行する)

コマンドのオプション

オプション 概要
-classpath 関連するclassファイルの検索先
--module-path モジュールの検索先
-jar jarファイルを実行
-version Javaバージョンを表示

例:Test.jarを実行する例。パラメーターとして「太郎」を設定。

> java -jar Test.jar "太郎"

※その他コマンド系は、またそのうち纏めて記述します。

JVM(Java Vitual Machine)

Javaのプログラムを動かすためのソフトウエア。
その他の言い方として、「Java仮想マシン」「JavaVM」

Javaは、どのマシンでもJavaが動作することを思想として作られた言語。

JVMの仕組み

①Javaプログラム⇒②JVM⇒③OS
①を解釈し、③のOSで実行可能な形式のコードに変換して動作させる。
②のJVMはJavaで作ったプログラムをプラットフォームに依存しないで動かすために必須ということ。

①から②の際にテキストコードをバイナリコード(マシン語)に変換
②から③の際にバイナリコードを読み込んでネイティブコードに変換

JVMの構成

大まかに3つに分けた領域が存在する。
1.New領域
2.Old領域
3.Permanent領域
がある。
1から2の領域ではヒープ。
3の領域では非ヒープ領域。

ヒープ

OSやアプリケーションなどのシステムが利用するメモリ領域のこと。
※JVMのヒープ領域はオプションで自由に設定を変更可能。

1.New領域
⇒更に3つの領域に分類される。
⇒オブジェクトがインスタンス化された際にEden領域に配置
⇒Edenのメモリがいっぱいになると、オブジェクト退避のためにFrom領域とTo領域に格納。
2.Old領域
⇒New領域に格納されているオブジェクトで使用期間が長い情報が管理されている。
⇒OldがいっぱいになるとFullGCと呼ばれる処理が頻繁に起こる。
※FullGCは重い処理の為実行されている間はシステムが止まる。
3.Permanent領域
⇒クラスやメソッドなどの情報が格納。
【補足】
GCはガーベージコレクションの略。
⇒メモリ領域中の使用済みのメモリ領域を整理し、空き領域を作ること

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0