Java プログラムが C++ プログラムよりも多くのメモリを使用することは、確立された事実のようです。StackExchange の回答によると、これはガベージ コレクションの性質と Java の「バイナリ」のバイトコードの性質によるものです。しかし、この場合、リフレクションはどのような役割を果たしているのでしょうか?
Java では、実行時に提供されるプレーン テキストとして、クラスの変数とメソッドを列挙して呼び出すことができます。これを可能にするために、これらの文字列キーをそれぞれの属性にリンクする何らかの種類のメタデータが保存されています。
このメタデータはヒープに保存されていますか?もしそうなら、リフレクションを必要としないクラスに対してそれを無効にする方法はありますか? (昔のデータ)