JVM は親委任モデルを通じてクラスをロードします。つまり、クラス ローダーはクラスのロード要求を受け取ると、まずロード タスクを親クラス ローダーに再帰的に委任します。親クラスローダーがクラスロードタスクを完了できる場合、正常に戻ります。親クラス ローダーがこの読み込みタスクを完了できない場合にのみ、クラス ローダー自体が読み込みます。 クラスローダー
概要: クラス ローダーとバイトコードは、Java プラットフォームの独立性の基礎となります。どのクラスでも、そのクラス ローダーとクラス自体が連携して、Java 仮想マシン内での一意性を確立する必要があります。 親委任モデルの利点:
クラスのロードプロセスクラスのライフ サイクルは次の 7 つの段階を経ます。 ロードフェーズ このステージは、対応するクラスを見つけ (クラス名で検索)、このクラスのバイト ストリームをメソッド領域ランタイムのデータ構造に変換し、他のデータにアクセスするためのエントリ ポイントとしてメモリ内でこのクラスを表すことができる java.lang.Class オブジェクトを生成するために使用されます。 検証フェーズ このステップは主にバイトコードのセキュリティを検証するためのものです。セキュリティ チェックが実行されないと、安全でないバイトコードや誤ったバイトコードがロードされ、システムがクラッシュする可能性があります。これは JVM の自己保護のための重要な対策です。 検証の主なアクションは次のとおりです。
準備 このステージは、クラスで定義された静的変数のメモリを初期化して割り当てるために使用されます。これらの静的変数はメソッド領域に割り当てられます。 JDK 1.7 より前では HotSpot 仮想マシンはメソッド領域にありますが、JDK 1.8 以降ではこの変数はクラス オブジェクトとともに Java ヒープ内に格納されます。 解析フェーズ このステージは主に、クラス、インターフェース、フィールド、メソッドを解析するために使用されます。解析中に、シンボリック参照は直接参照に置き換えられます。 シンボリック参照は、参照先を記述するために使用されるシンボルのセットです。シンボルは、使用時にターゲットを明確に特定できる限り、任意の形式のリテラルにすることができます。直接参照は、ターゲットを直接指すポインター、相対オフセット、または間接的にターゲットを特定できるハンドルです。 シンボリック参照と直接参照には重要な違いがあります。シンボリック参照を使用する場合、参照先は必ずしもメモリにロードされるわけではありません。直接参照を使用する場合、参照先ターゲットは仮想マシンのメモリ内にすでに存在している必要があります。 初期化 初期化フェーズでは、JVM はクラスに記述された Java ビジネス コードを正式に実行し始めます。このステップの後、クラスのロードプロセスは正式に完了します。 要約する上の図に示すように、2 つの明るい緑色の部分はクラスのライフ サイクルを表します。これは、クラスのロードからクラス インスタンスの作成と使用、そして使用されなくなったクラス オブジェクトが GC によってアンロードされ、リサイクルされるまでのプロセスです。 ここで注意すべき点は、Java 仮想マシンに付属する 3 つのクラス ローダーによってロードされたクラスは、仮想マシンのライフ サイクル全体を通じてアンロードされないことです。ユーザー定義のクラスローダーによってロードされたクラスのみをアンロードできます。 |
<<: Curl を使用して Kubernetes をデバッグする!
>>: IDC:中国の産業用クラウド市場規模は2020年後半に23億ドルに達する見込み
情報技術の調査・コンサルティング会社であるガートナーの最新の予測によると、パブリッククラウドサービス...
デジタル時代において、クラウドコンピューティング、ビッグデータ、人工知能などの新技術は高度な生産性の...
自己紹介: 彼は1990年代生まれのプログラマーです。都会の華やかな光と夜遊びをあきらめ、故郷に戻っ...
ウェブサイトの内部リンクは、オンサイトリンクとも呼ばれます。これは、ウェブサイトの外部リンクの正反対...
6月22日と28日の中国ウェブマスターのブラックジューンから半月近くが経ちましたが、Baiduに処罰...
はじめに: この記事は主に、企業のウェブサイトランキングのためのいくつかの方法と経験を共有しています...
企業がクラウド リソースの可視性と制御を欠くと、さまざまな問題が発生します。クラウドの無秩序な拡大は...
この記事を書くきっかけとなったのは、友人から紹介されたクライアントから昨日電話を受けたことでした。ま...
クラウド コンピューティングでは、ストレージやコンピューティング能力などのコンピューティング サービ...
WeChat O2O収益化の段階的なルートが明らかに:Tenpayとの完全な統合【捜狐ITニュース】...
ウェブサイトがBaiduスパイダーの支持を得られるかどうかは、ウェブサイトのコンテンツの質の高さだけ...
[[207428]] vSAN 6.6 では、VMware は新しいストレッチ クラスタ構成オプショ...
Serverpronto は、長い歴史 (2003 年) と強力なバックグラウンドを持つ IDC で...
edgevirtは2017年1月4日に設立された新会社です。シアトル、マイアミ、アムステルダムのデー...
SEO 業界は現在、さまざまな要素が入り混じっています。諺にあるように、大きな森にはさまざまな鳥がい...