JVMマクロ認知
1.仮想マシンとは何ですか?
仮想マシンがあるソフトウェア。
システムは、仮想マシン(物理マシンシミュレーション)と仮想マシンプログラム(例えば、JVMのような単一のコンピュータプログラムを実行する)に分割することができます。
2. Java仮想マシン(JVM)とは何ですか?
JVMは、マシンコードソフトウェアにバイトコードです。(同上)
反復時間の後、広く使われているJava仮想マシンオラクルのHotSpot VM。
3.JVM使用は何ですか?
- 理論:Javaのランタイムのメカニズムの理解と知識
- 練習:カスタムパフォーマンス強力なJVM(パラメータチューニング)、Javaアプリケーション自体に起因するオンライン問題のトラブルシューティング(チューニング主にトーン・スタック)ので、
JDKリリースが見えます
- 1991.4:以前はJava言語オーク誕生
- 1995.5:オークは、Java言語と改名されました
- 1996.1:JVM、アプレット、AWTなどの技術に代わってJDK1.0のリリース、
- アプレットは、HTML解釈実行中に埋め込まれる必要があるJavaプログラムです
- AWTは、人気のスウィングがあり、JavaFXの以前の抽象ウィンドウツールキットです
- 1997.2:JARファイル形式の代わりにJDK1.1放出技術を、JDBC、内部クラス、反射
- 2002.2:JDK1.4リリース、新技術は、正規表現を持って、NIO、ログクラス
- 正規表現は、論理フォーマット文字列操作であります
- NIOは、非ブロッキングIOモデルにIOに基づいてバッファを増加しました
- 2004.9:JDK1.5リリース、新技術は、自動包装、ジェネリック医薬品、注釈、列挙、foreachループを持っています
- 2006.11:Sunは、それがソースのJava、OpenJDKのソースコード管理の体制の確立を開くことを発表しました。
- 2009.4:サン・マイクロシステムズのオラクルのための$ 7.4億ドルで買収。
- 2014.3:OracleはJDK1.8をリリース、新機能はラムダ式である、ストリームAPI
- 2017.9:JDK9リリース、新機能はモジュラーシステム、インタラクティブREPLツール、JITあり、JVMCIなど
- 2018.3:JDK10リリース、新機能は、フルGC G1の導入に型推論JEP286ローカル変数、JEP317が含まれます
- 2018.9:JDK11リリース、新機能は、ネストされたベースのアクセス制御を含め、JavaFXの[JDK1.8は削除されました]
- 2019.3:JDK12リリースには、新機能は、低GC休止時間を持って、マイクロベンチマークスイート、式を切り替えます。
......
JVMのメモリ構造
知られているJVMのメモリ構造、「実行時データ領域。」
公共のスレッド:
- Javaヒープ:Javaのインスタンスオブジェクトストレージ、ライフサイクルと同じJVM
- メソッド地区:クラス情報ストレージが仮想マシンにロードされている、定数、静的変数の静的な修正の最終修正。
- 定数プールをランタイム:領域は方法、符号記憶リテラルの一部です。
- リテラルは、実際の値が、int型、A = 88とすべてリテラルでハロー=「hello」を文字列ことが理解されるであろう
- これは、文字列が一意のクラス、メソッドまたはフィールドに対応する符号です。
スレッド・プライベート:
- プログラムカウンタは、各スレッドがメソッドのバイトコードを対象ポインタ(次に実行する命令コード)領域方法は、プログラムカウンタを有し、次の命令が実行エンジンから読み出し
- VMのスタック:Javaメソッドの実行のプロセスを説明しては、どのようにメモリの変更です。
- 各方法は、格納するための「スタックフレーム」と呼ばれるスタック要素、圧入を実行するローカル変数テーブルを、スタック情報のうち及びエクスポートする方法等が挙げられます。
- ライフサイクルと同じスレッド、スレッドの終了は自動的にメモリ、無ガベージコレクションをリリース。
- ネイティブメソッドは、スタック:ネイティブメソッドサービスに仮想マシンを使用してください。ネイティブ底部はCであり、オペレーティングシステムの相互作用のために書かれています。