Jvm

JVMソースコード分析を覚えておいてください(1.はじめに)



Remember Jvm Source Code Analysis 1



  • バイナリ/ --------コンパイル結果(win32 / win64 / mac / linux)

  • Mini_jvm / ------ minijvmソース©



  • Javalib / ------- JDKのrt.jarに相当するminijvmのコアライブラリ

  • ex_lib /



    • Jni_gui / ------ pcGUIライブラリ
    • Luaj / --------- luaのライブラリ。この仮想マシンは小さなゲームを提供することを目的としているため、luaをサポートする必要があります。
  • モバイル/

    • c / ------------- javaネイティブlib、glfmフレームワーク、gui jni、glfmapp
    • Java / Javaのguilib ---- JNI以上/モバイル/ C演技ネイティブGUI用
    • java / ExApp ----- javaアプリのエントリポイント
    • iosapp / -------- iOSランチャー
    • androidapp / ---- Androidランチャー
    • アセット/ resfiles / -Javaアプリリソース、フォントファイル、jarファイル、picなど。
  • テスト/

    • javalib_test /-/ javalibクラスをテストします。
    • jni_test / ----- jniの例
    • jvm_ios / ------ ios迅速なテストプロジェクト、jvmのみをテストします。
    • jvm_macos / ---- macosXテストプロジェクト、jvmのみをテストします。
    • jvm_vs / -------仮想スタジオテストプロジェクト、jvmのみをテストします。

mini_jvmディレクトリに焦点を合わせる必要があります。



  • mini_jvm /

    • Jvm / -----ミニjvmコアソースコード
      • Class_loader ----クラスローディング関連のソースコード
      • クラス----は、Javaのクラス、およびクラスの作成/破棄/初期化/メンバーの解決などのさまざまな操作を記述します
      • ごみ-----メモリ管理とGC
      • グローバル-----仮想マシンのランタイムに必要なグローバルパラメータ/変数/定数
      • 通訳-----通訳(スイッチ)
      • Java_native_io -----ソケットIOとファイルIOを含むJavaネイティブIOの実装
      • Java_native_reflect ------ Javaリフレクションの実装
      • Java_native_std ------ Java標準ライブラリの実装、バイトコードコマンドに対応する関数の実装
      • Jdwp ------リモートデバッガー
      • Jvm_util ------ jvmスレッド操作を含む、いくつかのツールメソッド
      • Jvm ------ jvmのいくつかのコアデータ構造、およびいくつかのコアメソッドの実装について説明します
      • ランタイム------メソッドが実行されるたびに、ランタイムが作成されます。ランタイムはメソッドスタックと同等です。
    • Utils / -----さまざまなプラットフォーム、さらには組み込みプラットフォームに簡単に移植するための、リスト/マップ/スレッド実装などのいくつかの基本的なツールコード