識別子または変数名はどこにjavaに格納されますか?オブジェクトがヒープに格納され、変数が変数の型とスコープに応じてヒープまたはスタックに格納されることを理解しています。プログラムをデバッグしたり書き込んだりして、確認することはできますか?Java-変数名または識別子はどこに格納されますか?スタックまたはヒープ?
おかげ&よろしく
識別子または変数名はどこにjavaに格納されますか?オブジェクトがヒープに格納され、変数が変数の型とスコープに応じてヒープまたはスタックに格納されることを理解しています。プログラムをデバッグしたり書き込んだりして、確認することはできますか?Java-変数名または識別子はどこに格納されますか?スタックまたはヒープ?
おかげ&よろしく
フィールドの名前は以前のPermGen now-Metaspaceのクラスメタデータの一部として格納されています。
配列要素には名前はありません。数値のみです。 (Cue Patrick McGoohan.)
メソッド名とコンストラクタパラメータ、ローカル変数、ハンドラパラメータは、そのオプションが選択されている場合、クラスファイル内のデバッグシンボル情報にのみ格納されます。コンパイラはバイトコードで使用されているスタックフレームのスロット番号にJVMをマップしているため、JVMでは必要ありません。
変数名は、永久的な生成方法の領域に格納されます。オブジェクトは常にヒープに格納されますが、スタックに格納されているオブジェクト参照です。
変数名は他のクラスのメタデータとともに「メソッド領域」(permgenの一部)に格納されます。
メソッド領域と呼ばれるクラスメタデータを保持する特別な領域があります。これはpermgenの一部であり、現在はメタスペースに移動されています。
クラスメタデータと変数名がヒープに格納されていると言っていますか? – Jeet
私の答えを更新しました。 @JeetendraChoudhary – TheLostMind
ありがとう、このメタスペースはどこに好奇心が強いのですか?そしてそれは重要ですか、私はそれが何らかの形で開発者にとって有益か、事を知るだけでよいことを意味します。 – Jeet
私はここでフィールド名ではなくフィールド名を質問しています – TheLostMind