JVMの基本原理はこのオープンソースプロジェクトで説明されている。

JVMの基本原理はこのオープンソースプロジェクトで説明されている。

[[415998]]

JVM は Java Virtual Machine の略です。 JVM はコンピューティング デバイスの仕様です。実際のコンピュータ上でさまざまなコンピュータ機能をシミュレートして実装された架空のコンピュータです。

Java プログラマーは皆、JVM が優れたプログラマーになるために乗り越えなければならないハードルであることを知っています。今日、Github のウィークリー リストで非常に便利な JVM オープン ソース プロジェクト、jvm を見つけました。このプロジェクトでは、作成者が習得する必要があると考える JVM の知識ポイントをいくつか記録します。このプロジェクトを学習した後、JVM の基本原理をより包括的に理解したい場合は、Zhou Zhiming 先生の著書「Java 仮想マシンの詳細な理解 - JVM の高度な機能とベスト プラクティス (第 2/3 版)」全文を読むことができます。

このプロジェクトの主な内容は次のとおりです。

プロジェクト全体の内容は比較的完成しています。 [JVM メモリ構造] の部分を見てみましょう。

Java 仮想マシンのメモリ空間は 5 つの部分に分かれています。

  • プログラムカウンタ
  • Java 仮想マシン スタック
  • ネイティブメソッドスタック
  • ヒープ
  • 方法領域

JDK 1.8 と JDK 1.7 の最大の違いは、メタデータ領域が永続世代に置き換わっていることです。メタスペースの本質は永続世代に似ており、どちらも JVM 仕様のメソッド領域の実装です。ただし、メタスペースと永続世代の最大の違いは、メタデータ スペースは仮想マシン内になく、ローカル メモリを使用することです。

Java仮想マシンスタックの定義

Java 仮想マシン スタックは、Java メソッド実行プロセスを記述するメモリ モデルです。 Java 仮想マシン スタックは、実行される各 Java メソッドに対して「スタック フレーム」と呼ばれる領域を作成します。この領域は、メソッドの実行中に次のような情報を保存するために使用されます。

  • ローカル変数テーブル
  • オペランドスタック
  • 動的リンク
  • メソッドエクスポート情報

プッシュアンドポッププロセス

メソッドの実行中にローカル変数を作成する必要がある場合、ローカル変数の値はスタック フレーム内のローカル変数テーブルに格納されます。

Java 仮想マシン スタックの最上部にあるスタック フレームは、現在実行中のアクティブ スタック、つまり現在実行中のメソッドであり、PC レジスタもこのアドレスを指します。このアクティブなスタック フレームのローカル変数のみがオペランド スタックで使用できます。このスタック フレームで別のメソッドが呼び出されると、対応するスタック フレームが作成され、新しく作成されたスタック フレームがスタックの先頭にプッシュされ、現在のアクティブなスタック フレームになります。

メソッドが終了すると、現在のスタック フレームは削除され、スタック フレームの戻り値は、新しいアクティブ スタック フレームのオペランド スタック内のオペランドになります。戻り値がない場合、オペランド スタック上のオペランドは新しいアクティブ スタック フレームでは変更されません。

現在、jvm は Github で 6.1K のスターと 1.5K のブランチを持っています (Github アドレス: https://github.com/doocs/jvm)

<<:  2021 年の優れたオープンソース Kubernetes ツール 11 選

>>:  Canalys: アマゾン、マイクロソフト、グーグルがクラウドサービス市場の60%を占める

推薦する

ウェブサイトのトラフィックを効果的に増やすために私がまとめたいくつかの方法

交通の重要性ウェブサイトが人気があるかどうかを評価するには、ウェブサイトのトラフィックの量から大体の...

リン・コンプ:インテルは中国聯通の 5G エッジコンピューティングのアプリケーションシナリオの拡大と商用化の加速を支援

「インテルと中国聯通は、MEC エッジ コンピューティングとビデオの組み合わせに関する本格的なコラボ...

Red Hat、ハイブリッドクラウドデータ管理プロバイダーNooBaaを買収

オープンソースソリューションのリーディングプロバイダーであるRed Hat, Inc. (NYSE:...

企業のウェブサイト構築では、これらの点をテストするために仮想ホストを使用します。

月収10万元の起業の夢を実現するミニプログラム起業支援プランDidi Expressの成功はシェアリ...

SEO はどこに向かっているのでしょうか?

はるか昔、SEO は非常に人気がありました。それは、個々のウェブマスターの世界です。ウェブサイトを構...

保険の情報化の発展が加速し、クラウドコンピューティングが新たな変化をもたらす

クラウド コンピューティングは、新興技術として、パーソナル コンピュータとインターネットに続く第 3...

ウェブサイトの最適化を成功させる3つの重要なスキル

ウェブサイトの最適化は、ほとんどのウェブマスターにとって常に難しい問題です。最適化はウェブサイトの構...

#Cyber​​Monday# インターネットポート: スウェーデンの VPS、年間 15 ユーロ、4G メモリ/3 コア/100g SSD/10T トラフィック/1Gbps 帯域幅

2008年に設立されたスウェーデンの会社Internetportは現在、サイバーマンデー特別プロモー...

教師の日にブランドマーケティングを活用する方法がわかりませんか?さあ〜

数日前、私は教師の日のコピーを書きました。今日は、教師の日のマーケティング戦略についてお話ししましょ...

図: 2012 年の中国の共同購入市場の運営データ

Tuan800が発表した最新データによると、2012年の総取引額は213.9億元に達し、2011年に...

ウェブマスターネットワークニュース:音楽ウェブサイトが手数料を請求、アリペイで列車チケット購入を宣伝していると非難される

1. 音楽ウェブサイトは料金徴収に関して何の進展もないため、誇大広告だと非難されている6月6日、連日...

cycloneservers-3$/VPS/kvm/1g RAM/25g HDD/シアトル

同社によれば、サイクロンサーバーズは2006年に設立され、現在はシアトルとノースカロライナの2つのデ...

Nutanix、2019年のエンタープライズクラウドインデックスレポートを発表、企業のハイブリッドクラウドへの移行を支援するために協力

ハイパーコンバージェンスからスタートし、中国市場にハイパーコンバージェンスを成功裏に導入したNuta...

業界ウェブサイトの収益方法分析:教育ウェブサイト

セグメント化された業界ウェブサイトは、ビジネスを始めたり、独自のウェブサイトを構築したりするための方...

魏亜は倒れ、李佳琦は「十分に食べられなかった」

Viya がインターネット全体から「消えて」から 1 か月が経ちました。 2019年12月20日、浙...