JVM GC ROOT 分析


GC ルートの原理: 列挙された GC ルート オブジェクトの参照アクセス可能性を分析することによって、つまり GC ルート オブジェクトから開始して下方向に検索することによって、形成されたパスを参照チェーンと呼びます。オブジェクトに GC ルート オブジェクトへの参照がなく、参照チェーンを形成していない場合、オブジェクトは GC のリサイクルを待ちます。つまり、メモリ リークが減少すると、つまり参照チェーンが切断されます。一般的な GCRoot オブジェクトは次のとおりです。

1. 各スレッドによって呼び出されるメソッド スタックで
使用されるパラメータ、ローカル変数、一時変数など、仮想マシン スタック内のローカル変数が GC ルートになる可能性があります。

それで、これは何ですか?これはスタックニードルで見たものではありませんか?

 

では、なぜ彼は GCROOT になれるのでしょうか? あるいは、なぜ彼が指摘の根拠となり得るのでしょうか?

なぜ私のローカル変数テーブルが存在するのかというと、スタックニードルがあるからです。スタックニードルにローカル変数テーブルがあるからです。

では、なぜスタックニードルが存在するのでしょうか?

これはメソッドの実行に相当しますが、それではどうなるでしょうか?

メソッドの実行に相当するので、スレッドがこのメソッドを呼び出していることになります。これは、スレッド (スタックニードル) 内のローカル変数が使用されていることを意味します。GC ROOT の候補と言われれば、それが適切だと思います。op2 などのローカル変数がここで呼び出せるのであれば、なぜ呼び出せるのかというと、参照されているからです。このオブジェクトは他のオブジェクトを参照している可能性があり、参照されるオブジェクトも他のオブジェクトを参照している可能性があります。オブジェクト op2 によってトリガーされる限り、最終的なオブジェクトを見つけることができます。オブジェクト プレゾンがある場合、このオブジェクトはトリガーされたオブジェクトを通過します。 OP2による。これは私と呼んでもいい

Supongo que te gusta

Origin blog.csdn.net/s_nshine/article/details/132094247
Recomendado
Clasificación